Tôi có một dự án được tạo trong Visual Studio, 2013.
Tệp dự án có các thuộc tính sau:
ToolsVersion = "12.0", PlatformToolset = v120.
Tôi đã cài đặt Visual Studio 2013 và Microsoft Build Tools 2015. Dự án này được xây dựng thành công bằng MSBuild 12.0. Khi cố gắng xây dựng nó bằng MSBuild 14.0, tôi gặp lỗi
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.
Theo tôi hiểu, vấn đề là biến VCTargetsPath không được đánh giá. Nếu tôi chỉ định biến VCTargetsPath trước bản dựng (với giá trị C: \ Program Files (x86) \ MSBuild \ Microsoft.Cpp \ v4.0 \ V120), vấn đề sẽ được giải quyết.
Tuy nhiên, cách làm này không thuận tiện lắm trong trường hợp đường đi khác nhau. Có thể bằng cách nào đó giải quyết vấn đề một cách tối ưu hơn?
Khóa đăng ký và giá trị của nó:
HKLM\Software\WOW6432Node\Microsoft\MSBuild\ToolsVersions\12.0\VCTargetsPath $([MSBuild]::ValueOrDefault('$(VCTargetsPath)','$(MSBuildExtensionsPath32)\Microsoft.Cpp\v4.0\V120\'))