L'espace de noms XML par défaut du projet doit être L'espace de noms XML MSBuild
J'ai cloné le ASP.NET Core SignalR Repo localement, 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
POINT NET CLI
λ 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
J'ai vu beaucoup de ces types de messages d'erreur:
..ReposSignalRsrcMicrosoft.AspNetCore.SignalRMicrosoft.AspNetCore.SignalR.csproj
: erreur: l'espace de noms XML par défaut du projet doit être MSBuild XML namespace. Si le projet est créé dans MSBuild 2003 format, s'il Vous Plaît ajouterxmlns="http://schemas.microsoft.com/developer/msbuild/2003"
à la élément. Si l' projet a été écrit dans l'ancien 1.0 ou 1.2 format, veuillez le convertir au format MSBuild 2003...ReposSignalRsrcMicrosoft.AspNetCore.SignalRMicrosoft.AspNetCore.SignalR.csproj
Je veux savoir comment résoudre ce problème de manière correcte.
4 réponses
Les projets que vous essayez d'Ouvrir sont dans le nouveau format.net Core csproj. 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é project.json
au lieu de *.csproj
. Cependant, après une délibération interne considérable chez Microsoft, ils ont décidé de revenir à csproj
mais avec 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 vous ne voulez pas attendre le 7 mars pour la version officielle de VS2017, vous pouvez utiliser le code Visual Studio à la place.
J'ai rencontré ce problème lors de l'ouverture Du Tissu de Service GettingStartedApplication dans Visual Studio 2015. La solution originale 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.
- faites un clic droit sur le projet (échec du chargement) et modifiez-le dans visual studio.
Vu la ligne suivante dans la balise Projet:
<Project Sdk="Microsoft.NET.Sdk.Web" >
Suivi les instructions indiquées dans le message d'erreur d'ajouter
xmlns="http://schemas.microsoft.com/developer/msbuild/2003"
pour cette balise
Il devrait maintenant ressembler à:
<Project Sdk="Microsoft.NET.Sdk.Web" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- Le rechargement du projet m'a donné l'erreur suivante (la vôtre peut être différente en fonction de ce qui est inclus dans votre projet)
-
Vu qu'aucun élément n'avait un attribut de mise à jour comme ci-dessous:
<None Update="wwwroot\**\*;Views\**\*;Areas\**\Views"> <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory> </None>
-
A commenté cela comme ci-dessous.
<!--<None Update="wwwroot\**\*;Views\**\*;Areas\**\Views"> <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory> </None>-->
Sur l'erreur suivante: la Version dans la référence du paquet est méconnu
-
Vu que la Version est là dans csproj xml comme ci-dessous (lignes de référence PackageReference supplémentaires supprimées pour plus de concision)
-
Suppression de L'attribut de Version
<PackageReference Include="Microsoft.AspNetCore.Diagnostics" /> <PackageReference Include="Microsoft.AspNetCore.Mvc" />
Bingo!{[71] } la mise à niveau à Sens Unique de visual Studio a débuté! Laissez VS faire la magie!
Correction des erreurs de lib 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 réponse de@DavidG est correcte, mais je voudrais 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 ou where msbuild
pour vérifier à quel emplacement l'environnement prend l'exécutable et mettre à jour (ou pointer vers le bon emplacement) les outils si nécessaire.
Téléchargez le dernier outil MSBuild à partir de ici.
Si vous obtenez cette erreur en essayant de construire L'application.Net Core 2.0 sur VSTS, assurez-vous que votre définition de construction utilise la file D'attente de l'Agent Hosted VS2017
.