![](/img/trans.png)
[英]Visual Studio 2017: build tools for v142 cannot be found error, even though Platform Toolset is set to v141
[英]Build fails for C++/CX project with v141 platform toolset in Visual Studio 2019
自從 Visual Studio 2019 正式發布以來,我一直嘗試切換到它,但是我在構建基於 C++/CX 的項目時遇到了問題。
我沒有重新定位項目,但它仍然配置為使用 v141 平台工具集,即 Visual Studio 2017 Build Tools。
據我所知,我已經在 Visual Studio 2019 中專門安裝了所需的構建工具,這里應該很明顯:
盡管如此,根據項目屬性,未安裝 Visual Studio 2017 Build Tools:
當我構建項目時,出現以下錯誤:
1>C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Professional\\MSBuild\\Microsoft\\VC\\v160\\Microsoft.CppBuild.targets(378,5): error MSB8020: The build tools for Visual Studio 2017 (Platform)找不到工具集 = 'v141')。 要使用 v141 構建工具進行構建,請安裝 Visual Studio 2017 構建工具。 或者,您可以通過選擇“項目”菜單或右鍵單擊解決方案,然后選擇“重定向解決方案”來升級到當前的 Visual Studio 工具。
我的安裝中是否仍然缺少某些組件,或者這是 Visual Studio 2019 中的錯誤?
編輯我應該指出我仍然在同一台計算機上安裝了 Visual Studio 2017。
結果證明(Windows 運行時組件)項目沒有正確設置。 在 .vcxproj 文件中, ApplicationTypeRevision元素丟失了,從上面的項目屬性來看,這也是“明顯的”(如果你知道你在找什么......),其中只有General configuration properties 節點可見,並且目標平台值為空。
在 .vcxproj 文件中立即插入以下行,例如WindowsTargetPlatformMinVersion元素應該可以解決問題:
<ApplicationTypeRevision>10.0</ApplicationTypeRevision>
很可能,還需要添加C++ 通用 Windows 平台工具。 v142 版本在嘗試創建新的 C++ 通用 Windows 平台項目時可用。 據我所知,這個組件在 Visual Studio 安裝程序中不可見? 一旦安裝了 v142 組件,相應的 v141 組件也可供安裝。
我在 Visual Studio 2017 中遇到了同樣的問題,即使 V141 被明確顯示為已安裝。 結果發現問題是系統環境變量中的 VCTargetsPath 設置為“C:\\Program Files (x86)\\MSBuild\\Microsoft.Cpp\\V4.0\\V140”。 刪除或取消設置這個變量解決了這個問題。
我懷疑這個變量是在 Visual Studio 2015 的早期安裝過程中設置的。即使在卸載所有其他 Visual Studio 之后,該變量也從未被刪除,問題仍然存在。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.