这里的开发人员安装了不同的SDK,我希望我的Visual Studio项目使用大于10.0的任何可用SDK,而无需确切指定哪个SDK。有办法吗?
在vcxproj文件中:
<WindowsTargetPlatformVersion>10.0.10586.0</WindowsTargetPlatformVersion>
答案 0 :(得分:1)
对于Visual Studio 2017,必须在vcxproj文件中使用特定的SDK版本号。但是,Antonio Sanchez在本文的评论中提供了针对Windows 10 SDK的解决方法:https://developercommunity.visualstudio.com/comments/190992/view.html
<PropertyGroup Condition="'$(WindowsTargetPlatformVersion)'==''">
<!-- Latest Target Version property -->
<LatestTargetPlatformVersion>
$([Microsoft.Build.Utilities.ToolLocationHelper]::GetLatestSDKTargetPlatformVersion('Windows', '10.0'))
</LatestTargetPlatformVersion>
<WindowsTargetPlatformVersion Condition="'$(WindowsTargetPlatformVersion)' == ''">
$(LatestTargetPlatformVersion)
</WindowsTargetPlatformVersion>
<TargetPlatformVersion>
$(WindowsTargetPlatformVersion)
</TargetPlatformVersion>
</PropertyGroup>
对于Visual Studio 2019,您可以使用10.0值指定Windows 10 SDK的最新版本。例如:
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
答案 1 :(得分:0)
当前设计要求您的vcxproj包含特定的版本号。
由于您的项目是针对VS 2017的(基于v141
平台工具集),因此没有理由使用早于15086的版本。如果今天有人安装了VS 2017的新副本(15.9更新),他们默认情况下将具有Windows 10 SDK(10.0.17763)。默认情况下,他们唯一会安装10.0.15806的地方是,如果他们安装了VS 2017(15.1更新)并且从未更新过。
唯一有意义的是在vcxproj中坚持使用较旧的Windows 10 SDK是针对VS 2015项目,因为10.0.14493是正式支持VS 2015的最后一个版本。
还请记住,对于Win32桌面应用程序,Windows 10 SDK(17763)仍与Windows 10 SDK(15086)所使用的Windows版本相同:Windows 7 SP1,Windows 8.x,Windows 10。