2013年にVisualStudioで作成されたプロジェクトがあります。
プロジェクトファイルには、次のプロパティがあります。
ToolsVersion = "12.0"、PlatformToolset = v120。
Visual Studio2013とMicrosoftBuild Tools2015をインストールしています。このプロジェクトは、MSBuild12.0を使用して正常にビルドされます。MSBuild 14.0でビルドしようとすると、エラーが発生します
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.
私が理解しているように、問題は変数VCTargetsPathが評価されないことです。ビルドの前に変数VCTargetsPathを指定すると(値はC:\ Program Files(x86)\ MSBuild \ Microsoft.Cpp \ v4.0 \ V120)、問題は解決します。
ただし、パスが異なる場合、このアプローチはあまり便利ではありません。どういうわけか、より最適な方法で問題を解決することは可能ですか?
レジストリキーとその値:
HKLM\Software\WOW6432Node\Microsoft\MSBuild\ToolsVersions\12.0\VCTargetsPath $([MSBuild]::ValueOrDefault('$(VCTargetsPath)','$(MSBuildExtensionsPath32)\Microsoft.Cpp\v4.0\V120\'))