J'ai un projet créé dans Visual Studio, 2013.
Le fichier de projet a les propriétés suivantes:
ToolsVersion = "12.0", PlatformToolset = v120.
J'ai Visual Studio 2013 et Microsoft Build Tools 2015 installés. Ce projet est construit avec succès avec MSBuild 12.0. Lors de la tentative de construction avec MSBuild 14.0, un message d'erreur s'affiche.
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.
Si je comprends bien, le problème est que la variable VCTargetsPath n’est pas évaluée. Si je spécifie la variable VCTargetsPath avant la construction (avec la valeur C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120), le problème est résolu.
Cependant, cette approche n’est pas très pratique si le chemin est différent. Est-il possible de résoudre le problème d'une manière plus optimale?
La clé de registre et sa valeur:
HKLM\Software\WOW6432Node\Microsoft\MSBuild\ToolsVersions\12.0\VCTargetsPath $([MSBuild]::ValueOrDefault('$(VCTargetsPath)','$(MSBuildExtensionsPath32)\Microsoft.Cpp\v4.0\V120\'))
Il m'a fallu deux heures pour résoudre ce problème, mais j'ai finalement fini.
Ce qui suit a résolu mon problème:
npm install --global --production windows-build-tools
. Si vous n'avez pas npm, je vous recommande de l'installer, sinon cela ne fonctionnera pas.C:\Program Files (x86)\MSBuild\14.0
) en votre utilisateur, au lieu d'admin. (propriétés> Sécurité> Avancé).Ces étapes ont résolu mon problème:
npm install --global --production windows-build-tools
npm install --save nan
VCTargetsPath
sur C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140
J'ai récemment réinstallé Visual studio 2017 et j'ai rencontré ce problème lors de la tentative d'installation de "npm Java". La solution pour moi est la suivante:
npm config set msvs_version 2017
C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\Common7\IDE\VC\VCTargets
Pour ceux que la réponse ci-dessus ne fonctionne pas, voici une autre solution possible à examiner.
Même l'installation d'outils de construction ou de VS 2015 n'a pas fonctionné pour moi. J'ai donc essayé d'installer ci-dessous directement via PowerShell (en tant qu'administrateur)
https://chocolatey.org/packages/visualcpp-build-tools/14.0.25420.1 Commande: choco installe visualcpp-build-tools --version 14.0.25420.1
Une fois cela installé, définissez une variable d’environnement VCTargetsPath = C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v140.
J'ai résolu ceci par:
VCTargetsPath
sur C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140
Résolu en installant Visual Studio Express 2015 pour Windows 1.
J'ai essayé npm install et VCTargetsPath, tout ne fonctionne pas. Enfin résolu après la mise à niveau de Visual Studio vers la dernière version.