159 votes

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 dans l'environnement suivant.

IDE

Microsoft Visual Studio Enterprise 2015
Version 14.0.25431.01 Update 3
Microsoft .NET Framework
Version 4.6.01055

DOT 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:

..\Repos\SignalR\src\Microsoft.AspNetCore.SignalR\Microsoft.AspNetCore.SignalR.csproj : erreur : Le défaut d'espace de noms XML du projet doit être le MSBuild espace de noms XML. Si le projet est écrit dans le MSBuild 2003 format, veuillez ajouter xmlns="http://schemas.microsoft.com/developer/msbuild/2003" de la de l'élément. Si le projet a été créé dans l'ancien 1.0 ou 1.2 format, veuillez convertir MSBuild 2003 format. ..\Repos\SignalR\src\Microsoft.AspNetCore.SignalR\Microsoft.AspNetCore.SignalR.csproj

Je veux savoir comment résoudre ce problème de manière correcte.

215voto

DavidG Points 12762

Les projets que vous essayez de l'ouvrir dans la nouvelle .Net de Base csproj format. Cela signifie que vous devez utiliser Visual Studio 2017 qui prend en charge ce format.

Pour un peu d'histoire, d'abord .Net de Base utilisé project.json au lieu de *.csproj. Cependant, après beaucoup de délibérations internes à Microsoft, ils ont décidé de retourner à l' csproj , mais avec une beaucoup plus propre et à jour. Cependant, ce nouveau format est pris en charge uniquement dans VS2017.

Si vous voulez ouvrir les projets, mais vous ne voulez pas attendre jusqu'au 7 Mars pour le fonctionnaire VS2017 version, vous pouvez utiliser le Code de Visual Studio à la place.

49voto

Jersey_Guy Points 1

J'ai rencontré ce problème lors de l'ouverture du Service de Tissu GettingStartedApplication dans Visual Studio 2015. La solution d'origine a été construite sur .NET de Base dans VS 2017 et j'ai eu le même message d'erreur lors de l'ouverture en 2015.

Voici les étapes que j'ai suivies pour résoudre le problème.

  • Clic droit sur l' (Échec de chargement) et le projet d'édition dans visual studio.
  • Vu la ligne suivante dans le Projet tag: <Project Sdk="Microsoft.NET.Sdk.Web" >

  • Puis l'instruction indiqué dans le message d'erreur pour ajouter xmlns="http://schemas.microsoft.com/developer/msbuild/2003" de cette balise

Il devrait maintenant ressembler à ceci:

<Project Sdk="Microsoft.NET.Sdk.Web" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  • Recharger le projet m'a donné l'erreur suivante (le vôtre peut être différent en fonction de ce qui est inclus dans votre projet)

"Update" element <None> is unrecognized

  • Vu qu'Aucun élément avait une mise à jour de l'attribut comme ci-dessous:

    <None Update="wwwroot\**\*;Views\**\*;Areas\**\Views">
      <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
    </None>
    
  • Commenté que comme ci-dessous.

    <!--<None Update="wwwroot\**\*;Views\**\*;Areas\**\Views">
      <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
    </None>-->
    
  • Sur l'erreur suivante: Version de Package de Référence n'est pas reconnue Version in element <PackageReference> is unrecognized

  • Vu que la Version est là, dans csproj xml comme ci-dessous (en plus PackageReference lignes supprimées pour des raisons de concision)

  • Dépouillé l'attribut de Version

    <PackageReference Include="Microsoft.AspNetCore.Diagnostics" />
    <PackageReference Include="Microsoft.AspNetCore.Mvc" />
    
  • Je reçois maintenant la suivante: VS Auto Upgrade

Bingo! Visual Studio Un chemin de mise à niveau des coups de pied dans! Laissez VS faire de la magie!

  • Le Projet chargé, mais avec référence lib erreurs. enter image description here

  • Correction de la référence lib erreurs individuellement, en retrait et au remplacement de NuGet pour obtenir le projet de travail!

Espérons que cela aide un autre code voyage :-D

14voto

Nikita G. Points 1122

@DavidG réponse est bonne, mais je voudrais ajouter que si vous êtes la construction de la ligne de commande, soit l'équivalent de la solution est de vous assurer que vous utilisez la version appropriée de l' msbuild (dans ce cas particulier, il doit être à la version 15).

Exécutez msbuild /? pour voir quelle version vous utilisez ou where msbuild pour vérifier l'emplacement de l'environnement prend l'exécutable de mise à jour (ou le point à droite de l'emplacement de l') les outils si nécessaire.

Télécharger la dernière MSBuild outil à partir d' ici.

6voto

Scotty.NET Points 4373

Si cette erreur survient lors de la tentative de création de 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 .

3voto

you_rule Points 21

Je recevais les mêmes messages pendant que j'exécutais msbuild à partir de powershell.

dotnet msbuild "./project.csproj" travaillé pour moi.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X