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, agreguexmlns="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" />
¡Bingo! ¡La actualización visual Studio One-way comenzó! ¡Deja que VS haga la magia!
-
¡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.