我曾经在我的 C++ 应用程序中使用 Windows 8.1 SDK,一切正常。今天我安装了 Windows 10 SDK,但找不到一种方法将其设为默认。
我可以在 Visual Studio 项目设置中对新的 SDK 路径进行硬编码,但这是非常不可取的。我希望每个新项目都默认使用新套件。
SDK 没有环境变量,我在注册表中也找不到任何内容。
更准确地说,注册表中有 Windows SDK 条目,但我需要的 - C++ 包含和库 - 被称为 WindowsKit(位于 C:\Program Files (x86)\Windows Kits)。
好吧,似乎没有很多人面临这个问题,但我仍然会发布一个解决方法来设置默认的 sdk 版本。它与 Visual Studio 2017 Community 一起使用。
考虑以下情况:
错误 MSB8036 找不到 Windows SDK 版本 8.1。安装
所需版本的 Windows SDK 或更改 SDK 版本
项目属性页或右键单击解决方案并选择
“重新定位解决方案”。
因为您的电脑上未正确安装 SDK 8.1,并且重新安装也无法解决问题。
- 您团队中的其他人不会遇到这样的问题,因为项目没有在 *.vcxproj 文件中显式定义 Windows SDK 版本。
因此,显然,安装了多个 SDK 的 MS 构建系统存在某种混乱,最糟糕的是,它会导致将损坏安装的 SDK 定义为默认值。
我使用以下解决方法来显式设置默认 Windows SDK:
- Go to [VS安装路径]\Common7\IDE\VC\VCTargets,例子:
C:\Program Files (x86)\Microsoft Visual
Studio\2017\WDExpress\Common7\IDE\VC\VCTargets\Microsoft.Cpp.WindowsSDK.props)
- 打开文件Microsoft.C++.Windows SDK.props作为管理员
- 查找线
<DefaultWindowsSDKVersion Condition="'$(DefaultWindowsSDKVersion)' == ''
and '$(AppContainerApplication)' != 'true'">8.1</DefaultWindowsSDKVersion>
将 8.1 更改为您确定已正确安装的 SDK 版本,然后保存文件。
就我而言,它是 10.0.17763.0,所以最后一行是
<DefaultWindowsSDKVersion Condition="'$(DefaultWindowsSDKVersion)' == ''
and '$(AppContainerApplication)' != 'true'">10.0.17763.0</DefaultWindowsSDKVersion>
现在重新打开您的解决方案并尝试构建它。应该可以正常工作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)