visual-studio asp.net-mvc asp.net-core visual-studio-2015 msbuild .net-core

visual studio - El espacio de nombres XML predeterminado del proyecto debe ser el espacio de nombres XML de MSBuild



visual-studio asp.net-mvc (5)

La respuesta de @ DavidG es correcta, pero me gustaría agregar que si está compilando desde la línea de comandos, la solución equivalente es asegurarse de que está utilizando la versión adecuada de msbuild (en este caso particular, debe ser versión 15).

Ejecute msbuild /? para ver qué versión está utilizando o where msbuild para verificar de qué ubicación toma el ejecutable el entorno y actualizar (o señalar la ubicación correcta de) las herramientas si es necesario.

Descargue la última herramienta de MSBuild desde here .

Cloné el repositorio ASP.NET Core SignalR localmente e intenté abrir la solución desde el siguiente entorno.

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

Termino viendo muchos de estos tipos de mensajes de error:

../Repos/SignalR/src/Microsoft.AspNetCore.SignalR/Microsoft.AspNetCore.SignalR.csproj : error: el espacio de nombres XML predeterminado del proyecto debe ser el espacio de nombres XML de MSBuild. Si el proyecto está creado en el formato MSBuild 2003, agregue xmlns="http://schemas.microsoft.com/developer/msbuild/2003" al elemento. Si el proyecto se creó en el formato antiguo 1.0 o 1.2, conviértalo al formato MSBuild 2003. ../Repos/SignalR/src/Microsoft.AspNetCore.SignalR/Microsoft.AspNetCore.SignalR.csproj

Quiero saber cómo solucionar esto de la manera correcta.


Los proyectos que está intentando abrir están en el nuevo formato .Net Core csproj. Esto significa que debe usar Visual Studio 2017, que admite este nuevo formato.

Para un poco de historia, inicialmente .Net Core usó project.json lugar de *.csproj . Sin embargo, después de una considerable deliberación interna en Microsoft, decidieron volver a csproj pero con un formato mucho más limpio y actualizado. Sin embargo, este nuevo formato solo es compatible con VS2017.

Si desea abrir los proyectos pero no quiere esperar hasta el 7 de marzo para el lanzamiento oficial de VS2017, puede usar Visual Studio Code en su lugar.


Me encontré con este problema al abrir Service Fabric GettingStartedApplication en Visual Studio 2015. La solución original se creó en .NET Core en VS 2017 y recibí el mismo error al abrir en 2015.

Estos son los pasos que seguí para resolver el problema.

  • Haga clic derecho en el proyecto (error de carga) y edite en Visual Studio.
  • Vio la siguiente línea en la etiqueta Proyecto: <Project Sdk="Microsoft.NET.Sdk.Web" >

  • Siga las instrucciones que se muestran en el mensaje de error para agregar xmlns="http://schemas.microsoft.com/developer/msbuild/2003" a esta etiqueta

Ahora debería verse así:

<Project Sdk="Microsoft.NET.Sdk.Web" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

  • Recargar el proyecto me dio el siguiente error (el tuyo puede ser diferente según lo que esté incluido en tu proyecto)

  • Vio que ningún elemento tenía un atributo de actualización como se muestra a continuación:

    <None Update="wwwroot/**/*;Views/**/*;Areas/**/Views"> <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory> </None>

  • Comentó eso como a continuación.

    <!--<None Update="wwwroot/**/*;Views/**/*;Areas/**/Views"> <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory> </None>-->

  • En el siguiente error: la versión en la referencia del paquete no se reconoce

  • Vi que la versión está en csproj xml como se muestra a continuación (líneas de referencia de paquete adicionales eliminadas por brevedad)

  • Despojado del atributo Versión

    <PackageReference Include="Microsoft.AspNetCore.Diagnostics" /> <PackageReference Include="Microsoft.AspNetCore.Mvc" />

  • Ahora obtengo lo siguiente:

¡Bingo! ¡La actualización visual Studio One-way comenzó! ¡Deja que VS haga la magia!

  • El proyecto se cargó pero con errores de lib de referencia.

  • ¡Se corrigieron los errores de lib de referencia individualmente, eliminando y reemplazando en NuGet para que el proyecto funcione!

Espero que esto ayude a otro viajero de código :-D


Recibía los mismos mensajes mientras ejecutaba msbuild desde powershell.

dotnet msbuild "./project.csproj" funcionó para mí.


Si obtiene este error al intentar compilar la aplicación .Net Core 2.0 en VSTS, asegúrese de que su definición de compilación esté utilizando la cola Hosted VS2017 Agent.