J'ai modifié ma réponse pour préciser que vous n'avez pas besoin de mettre à jour votre carte de crédit. .csproj
dossier. Comme Drew l'a commenté ci-dessous, il y a des avantages à le faire. Toutefois, VS2017 continuera à fonctionner avec le fichier classique csproj
sans problème. En outre, rien dans VS2017 ne permet d'effectuer la mise à niveau pour vous. Si vous souhaitez tirer parti du nouveau format, la marche à suivre ci-dessous devrait vous aider.
Mise à niveau du .csproj
au nouveau format de Visual Studio 2017 est facile pour les bibliothèques de classes simples ou les projets de console.
Si vous n'utilisez pas le contrôle de version, avant de commencer, assurez-vous de sauvegarder votre csproj
et les deux Properties/AssemblyInfo.cs
y packages.config
. Le nouveau csproj
est génial. Dans de nombreux projets, j'ai remplacé des centaines de lignes de code par une douzaine environ. Cependant, étant donné que Visual Studio 2017 continue de prendre en charge l'ancienne version du fichier csproj
les fichiers, c'est peut-être un cas d'optimisation prématurée. Si vous avez une solution qui contient des dizaines de projets, de nombreux paquets NuGet et toute personnalisation de csproj
vous entreprenez probablement un projet de travail inutile.
Remplacez tout le contenu de votre fichier .csproj par le code approprié comme suit.
Bibliothèque de classe
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net462</TargetFramework>
</PropertyGroup>
</Project>
Application Console
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net462</TargetFramework>
</PropertyGroup>
</Project>
Changez le <TargetFramework>
à la version .NET dont vous avez besoin, comme net452, net46, net461, etc.
Par défaut, tout le code contenu dans le dossier de votre projet sera pris en compte par le compilateur. Si vous avez du code en dehors du dossier de votre projet, vous devez le référencer explicitement de la même manière que dans les versions précédentes de Visual Studio et de l'interface utilisateur. csproj
.
Après avoir effectué les modifications ci-dessus, chargez votre solution dans Visual Studio 2017. À ce stade, les projets les plus basiques devraient se construire. Si ce n'est pas le cas, vous devez probablement ajouter des références d'assemblage ou de projet manquantes. L'ajout de références est très similaire à celui effectué dans les versions précédentes de Visual Studio. Sélectionnez votre projet dans l'explorateur de solutions, cliquez avec le bouton droit sur Dependencies
et sélectionnez Add Reference
. Ajoutez toutes les références de cadre ou de projet qui vous manquent.
Essayez à nouveau de construire votre solution/projet. Vous pouvez recevoir des erreurs concernant des attributs en double. Cette erreur est due au fait que les attributs précédemment définis dans AssemblyInfo.cs
ont été déplacés vers le fichier csproj. En supprimant le AssemblyInfo.cs
qui se trouve dans le dossier Propriétés, devrait résoudre ces erreurs. Avant de supprimer le fichier AssemblyInfo.cs
vous devez déplacer toutes les données que vous avez définies. La plupart des attributs peuvent être saisis dans la section des informations sur le paquet de votre fichier de projet. Cliquez avec le bouton droit de la souris sur le nom de votre projet, sélectionnez la page Package, et entrez toutes les données qui ont été précédemment définies dans votre fichier de projet. AssemblyInfo.cs
fichier. Cela inclut des éléments tels que la version de l'assemblage, l'auteur, le copyright, etc.
Vous trouverez ci-dessous une capture d'écran qui montre l'étape précédente.
![enter image description here]()
Si vous utilisez des paquets NuGet dans votre projet, vous devez également les transférer vers le nouveau format. Avant Visual Studio 2017, NuGet s'appuyait sur un fichier nommé Packages.config
dans la Racine de votre projet en plus des références dans csproj
. Pour migrer les références de vos paquets NuGet, faites un clic droit sur votre solution et chargez le gestionnaire de paquets Nuget. Une fois chargé, dans le coin supérieur droit, cliquez sur le rouage, et les options du gestionnaire de paquets NuGet se chargeront. Sélectionnez General
. Sous Gestion des paquets, changez l'option Default package management format
à PackageReference. À ce stade, vous devrez réintégrer manuellement tous vos paquets NuGet dans votre solution. Vous pouvez trouver tous les paquets dans le répertoire packages.config
dans le dossier Racine du projet. Une fois que vous avez réintégré tous les paquets, vous pouvez supprimer le fichier packages.config
fichier.
5 votes
Duplicata possible de Comment convertir un csproj non-core au format VS2017
0 votes
Il semble que l'utilisation de la nouvelle
.csproj
pour les projets non-Core est possible, avec des restrictions, car montré ici1 votes
Oui, utiliser le nouveau fichier csproj pour les projets non-Core est possible mais pas nécessaire. Voir ma réponse ci-dessous.