Ich habe ein Projekt in Visual Studio, 2013 erstellt.
Die Projektdatei hat folgende Eigenschaften:
ToolsVersion = "12.0", PlatformToolset = v120.
Ich habe Visual Studio 2013 und Microsoft Build Tools 2015 installiert. Dieses Projekt wird erfolgreich mit MSBuild 12.0 erstellt. Beim Versuch, es mit MSBuild 14.0 zu erstellen, wird eine Fehlermeldung angezeigt
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.
Soweit ich weiß, besteht das Problem darin, dass die Variable VCTargetsPath nicht ausgewertet wird. Wenn ich die Variable VCTargetsPath vor dem Build angeben (mit dem Wert C: \ Programme (x86) \ MSBuild \ Microsoft.Cpp \ v4.0 \ V120), ist das Problem behoben.
Dieser Ansatz ist jedoch nicht sehr praktisch, wenn der Pfad unterschiedlich ist. Ist es möglich, das Problem irgendwie optimaler zu lösen?
Der Registrierungsschlüssel und sein Wert:
HKLM\Software\WOW6432Node\Microsoft\MSBuild\ToolsVersions\12.0\VCTargetsPath $([MSBuild]::ValueOrDefault('$(VCTargetsPath)','$(MSBuildExtensionsPath32)\Microsoft.Cpp\v4.0\V120\'))