J'ai un projet créé dans Visual Studio, 2013.
Le fichier de projet possède les propriétés suivantes:
ToolsVersion="12.0", PlatformToolset = v120.
J'ai Visual Studio 2013 et Microsoft Outils de génération de 2015 installé. Ce projet se construit avec succès à l'aide de MSBuild 12.0. Lors de la tentative de construire avec MSBuild 14.0 j'obtiens une erreur
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.
Ce que je comprends, le problème est que la variable VCTargetsPath n'est pas évaluée. Si je spécifiez la variable VCTargetsPath avant de la construire (avec la valeur C:\Program Files (x86)\MSBuild\Microsoft.Rpc\v4.0\V120), le problème est résolu.
Cependant, cette approche n'est pas très pratique dans le cas où le chemin est différent. Est-il possible de faire en quelque sorte résoudre le problème d'une manière plus optimale?
La clé de registre et de sa valeur:
HKLM\Software\WOW6432Node\Microsoft\MSBuild\ToolsVersions\12.0\VCTargetsPath $([MSBuild]::ValueOrDefault('$(VCTargetsPath)','$(MSBuildExtensionsPath32)\Microsoft.Cpp\v4.0\V120\'))