Visual Studio, 2013에서 만든 프로젝트가 있습니다.
프로젝트 파일에는 다음과 같은 속성이 있습니다.
ToolsVersion = "12.0", PlatformToolset = v120.
Visual Studio 2013 및 Microsoft Build Tools 2015가 설치되어 있습니다. 이 프로젝트는 MSBuild 12.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\'))