J'ai cloné localement le référentiel ASP.NET Core SignalR et essayez d'ouvrir la solution à partir de l'environnement suivant.
IDE
Microsoft Visual Studio Enterprise 2015
Version 14.0.25431.01 Update 3
Microsoft .NET Framework
Version 4.6.01055
CLI DOT NET
λ dotnet --info
.NET Command Line Tools (1.0.0-preview2-1-003177)
Product Information:
Version: 1.0.0-preview2-1-003177
Commit SHA-1 hash: a2df9c2576
Runtime Environment:
OS Name: Windows
OS Version: 6.1.7601
OS Platform: Windows
RID: win7-x64
Je finis par voir beaucoup de ces types de messages d'erreur:
..\Repos\SignalR\src\Microsoft.AspNetCore.SignalR\Microsoft.AspNetCore.SignalR.csproj
: erreur: l'espace de noms XML par défaut du projet doit être l'espace de noms XML MSBuild. Si le projet est créé au format MSBuild 2003, veuillez l'ajouterxmlns="http://schemas.microsoft.com/developer/msbuild/2003"
à l'élément. Si le projet a été créé dans l'ancien format 1.0 ou 1.2, veuillez le convertir au format MSBuild 2003...\Repos\SignalR\src\Microsoft.AspNetCore.SignalR\Microsoft.AspNetCore.SignalR.csproj
Je veux savoir comment résoudre ce problème de la bonne manière.
Réponses:
Les projets que vous essayez d'ouvrir sont au nouveau format csproj .NET Core. Cela signifie que vous devez utiliser Visual Studio 2017 qui prend en charge ce nouveau format.
Pour un peu d'histoire, initialement .NET Core utilisé à la
project.json
place de*.csproj
. Cependant, après decsproj
longues délibérations internes chez Microsoft, ils ont décidé de revenir à un format beaucoup plus propre et mis à jour. Cependant, ce nouveau format n'est pris en charge que dans VS2017.Si vous voulez ouvrir les projets , mais ne veulent pas attendre jusqu'au 7 Mars e pour la sortie officielle de VS2017, vous pouvez utiliser le code Visual Studio à la place.
la source
J'ai rencontré ce problème lors de l'ouverture de Service Fabric GettingStartedApplication dans Visual Studio 2015. La solution d'origine a été construite sur .NET Core dans VS 2017 et j'ai eu la même erreur lors de l'ouverture en 2015.
Voici les étapes que j'ai suivies pour résoudre le problème.
Vu la ligne suivante dans la balise Project:
<Project Sdk="Microsoft.NET.Sdk.Web" >
Suivez les instructions affichées dans le message d'erreur pour ajouter
xmlns="http://schemas.microsoft.com/developer/msbuild/2003"
à cette baliseIl devrait maintenant ressembler à:
Vu que l'élément None avait un attribut de mise à jour comme ci-dessous:
A commenté cela comme ci-dessous.
À la prochaine erreur: la version dans la référence du package n'est pas reconnue
Vu que la version est là dans csproj xml comme ci-dessous (lignes supplémentaires de PackageReference supprimées par souci de concision)
Suppression de l'attribut Version
J'obtiens maintenant ce qui suit:
Bingo! La mise à niveau à sens unique de Visual Studio a démarré! Laissez VS faire la magie!
Le projet est chargé mais avec des erreurs de bibliothèque de référence.
Correction des erreurs de bibliothèque de référence individuellement, en supprimant et en remplaçant dans NuGet pour que le projet fonctionne!
J'espère que cela aide un autre voyageur de code :-D
la source
La réponse de @ DavidG est correcte, mais j'aimerais ajouter que si vous construisez à partir de la ligne de commande, la solution équivalente est de vous assurer que vous utilisez la version appropriée de
msbuild
(dans ce cas particulier, il doit s'agir de la version 15).Exécutez
msbuild /?
pour voir quelle version vous utilisez ouwhere msbuild
pour vérifier à quel emplacement l'environnement prend l'exécutable et mettez à jour (ou pointez vers le bon emplacement de) les outils si nécessaire.Téléchargez le dernier outil MSBuild à partir d' ici .
la source
Si vous obtenez cette erreur en essayant de créer l'application .Net Core 2.0 sur VSTS, assurez-vous que votre définition de construction utilise la
Hosted VS2017
file d'attente de l' agent.la source
Je recevais les mêmes messages alors que j'exécutais juste msbuild de PowerShell.
dotnet msbuild "./project.csproj"
travaillé pour moi.la source
si le projet n'est pas un gros,
1- changer le nom du dossier projet
2- faire un nouveau projet avec le même projet (avant de renommer)
3- ajouter des fichiers existants de l'ancien projet au nouveau projet (totalement identiques, mêmes dossiers, mêmes noms, ...)
4- Ouvrez le nouveau fichier de projet (au format xml) et l'ancien projet
5- Copiez le nouveau fichier projet (contenu xml) et collez-le dans l'ancien fichier projet
6- supprimer l'ancien projet
7- Renommez l'ancien projet de dossier en ancien nom
la source