vscode visual studio ortografico orthography corrector code close check visual-studio-2010 msbuild

visual studio 2010 - visual - Cómo lanzar la versión correcta de Msbuild



visual studio code path intellisense (4)

Cuando escribo ...

Msbuild<Enter>

... en el símbolo del sistema, obtengo ...

Microsoft (R) Build Engine Version 2.0.50727.4927 [Microsoft .NET Framework, Version 2.0.50727.4927] Copyright (C) Microsoft Corporation 2005. All rights reserved.

Esto está muy bien y bien, excepto que cuando ejecuto esto en un archivo .sln Visual Studio 2010, el mensaje de error indica:

MyProject.sln(2): Solution file error MSB5014: File format version is not recognized. MSBuild can only read solution files between versions 7.0 and 9.0, inclusive. 0 Warning(s) 1 Error(s)

Parece que la versión de MSBuild que se está llamando no es capaz de entender mi archivo de solución.

Pensé que revisaría mi ruta y vería de dónde se está recogiendo MSBuild. Sin embargo, parece que ninguna parte de mi camino apunta a una ubicación donde se encuentra MSBuild.

¿Cómo encuentra la línea de comandos la copia de MSBuild que está utilizando y cómo puedo cambiar esta versión para que se use la última versión?


Cambia tus variables de entorno

Encuentra / establece tu variable de ruta MSBuild para que sea C:/Windows/Microsoft.NET/Framework/v4.0.30319

Obviamente, la ruta anterior dependerá de la ubicación de instalación, pero estará cerca si no es exacta.


Debe estar en algún lugar del entorno PATH. Use ''where msbuild'' para determinar desde dónde está cargando msbuild.

Use el atajo del Símbolo del sistema de Visual Studio (2010) para inicializar la ruta y otras variables de entorno para VS 2010 y MSBuild 4.0.


Encontré esta pregunta ya que mi variable PATH no contenía una referencia a MSBuild.exe . En caso de que alguien más tenga este problema, mi resolución fue registrar explícitamente las variables de entorno para las herramientas de Visual Studio desde el símbolo del sistema:

"%VS100COMNTOOLS%"//vsvars32.bat // VS2010 environment variables "%VS110COMNTOOLS%"//vsvars32.bat // VS2012 environment variables "%VS120COMNTOOLS%"//vsvars32.bat // VS2013 environment variables

MSBuild.exe ahora está registrado en PATH

where msbuild C:/Windows/Microsoft.NET/Framework/v4.0.30319/MSBuild.exe C:/Windows/Microsoft.NET/Framework/v3.5/MSBuild.exe


Para construir un proyecto C # 6, esto funcionó para mí en un archivo por lotes

if exist "%ProgramFiles(x86)%/MSBuild/14.0/bin" set MSBUILDLOCATION=%ProgramFiles(x86)%/MSBuild/14.0/bin if exist "%ProgramFiles%/MSBuild/14.0/bin" set MSBUILDLOCATION=%ProgramFiles%/MSBuild/14.0/bin "%MSBUILDLOCATION%/msbuild.exe" "path/to/my/project.csproj"

Puede cambiar fácilmente el número de versión (14.0) o agregar líneas con más números de versión (12.0 y 4.0, por ejemplo) si desea admitir un rango de versiones.