Tengo un proyecto creado en Visual Studio, 2013.
El archivo del proyecto tiene las siguientes propiedades:
ToolsVersion = "12.0", PlatformToolset = v120.
Tengo instaladas Visual Studio 2013 y Microsoft Build Tools 2015. Este proyecto se compila con éxito con MSBuild 12.0. Al intentar construirlo con MSBuild 14.0, aparece un error
MSB4019: The imported project "C:\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.
Según tengo entendido, el problema es que la variable VCTargetsPath no se evalúa. Si especifico la variable VCTargetsPath antes de la compilación (con el valor C: \ Archivos de programa (x86) \ MSBuild \ Microsoft.Cpp \ v4.0 \ V120), el problema está resuelto.
Sin embargo, este enfoque no es muy conveniente en caso de que el camino sea diferente. ¿Es posible resolver el problema de alguna manera de una manera más óptima?
La clave de registro y su valor:
HKLM\Software\WOW6432Node\Microsoft\MSBuild\ToolsVersions\12.0\VCTargetsPath $([MSBuild]::ValueOrDefault('$(VCTargetsPath)','$(MSBuildExtensionsPath32)\Microsoft.Cpp\v4.0\V120\'))
Respuestas:
Me tomó dos horas solucionar este problema, pero finalmente terminé.
Lo siguiente resolvió mi problema:
npm install --global --production windows-build-tools
. Si no tiene npm, le recomiendo instalarlo, de lo contrario, no funcionará.C:\Program Files (x86)\MSBuild\14.0
) a su usuario, en lugar de administrador. (propiedades> Seguridad> Avanzado).fuente
npm install -g --production windows-build-tools
.Recientemente reinstalé Visual Studio 2017 y encontré este problema al intentar instalar "npm java". La solución para mí es:
npm config set msvs_version 2017
C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\Common7\IDE\VC\VCTargets
fuente
npm config set msvs_version 2017
este código me salvó las horas. Gracias.VCTargets
ya contenía tu directorioMicrosoft.Cpp.Default.Props
? Tengo el directorio pero falta ese archivo.Estos pasos resolvieron mi problema:
npm install --global --production windows-build-tools
npm install --save nan
VCTargetsPath
la variable de entorno enC:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140
fuente
VCTargetsPath
es el nombre de la variable de entorno.Para aquellos que la respuesta anterior no funciona, aquí hay otra posible solución a considerar.
Incluso la instalación de herramientas de compilación o VS 2015 no funcionó para mí. Así que intenté instalar a continuación directamente a través de PowerShell (como administrador)
https://chocolatey.org/packages/visualcpp-build-tools/14.0.25420.1 Comando: choco install visualcpp-build-tools --version 14.0.25420.1
Una vez instalado, configure una variable de entorno VCTargetsPath = C: \ Archivos de programa (x86) \ MSBuild \ Microsoft.Cpp \ v4.0 \ v140
fuente
Para aquellos que usan VS 2019:
Editar (septiembre de 2020): a veces requiere una barra invertida al final (como bmiller se menciona a continuación)
fuente
Resolví esto por:
VCTargetsPath
la variable de entorno enC:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140
fuente
Probé npm install y VCTargetsPath, no todo funciona. Finalmente resuelto después de actualizar Visual Studio a la última versión.
fuente
Se resuelve instalando Visual Studio Express 2015 para Windows 10 .
fuente
No pude hacer que funcione con todas las sugerencias de esta página
Bajé nodejs a 10.15 y funcionó bien
probablemente no sea la mejor respuesta, pero funciona
fuente
Resolví el problema cargando la solución en VS 2019 en lugar de hacer doble clic en el nombre de la solución en el Explorador de archivos.
fuente
Al ejecutar MSBuild fuera de Visual Studio 2019 (migrado desde 2012), tuve este tipo de problemas. Los resolví ejecutando este MSBuild:
(personalícelo según su versión de VS y la arquitectura de destino) en lugar de esta:
que estaba usando cuando tenía Visual Studio 2012.
fuente
Asegúrese de usar --global con el comando para poder usar este paquete en cualquier lugar. Esto me resuelve el problema
fuente