将VS2010切换到使用Windows 7.1 SDK

21

我在我的开发机上使用VS2008已经有好几年了,同时也安装了Windows SDK v7.1。

我现在安装了VS2010,但它正在使用的是Windows SDK v7.0a,而我需要它使用Windows 7.1 SDK(在安装VS2010之前我已经安装了它)。

当我运行Windows SDK 7.1配置工具来切换正在使用的Windows SDK时,该工具会更新VS2008,但不会更新VS2010。它报告的消息是:

"The Windows SDK Configuration Tool has successfully set Windows SDK version v7.1 as the current version for Visual Studio 2008"

配置工具已随Windows 7.1 SDK安装,并在此处找到:

"C:\Program Files\Microsoft SDKs\Windows\v7.1\Setup\WindowsSdkVer.exe"

VS2010 在继续使用WSDK 7.0a,这个非常令人沮丧,因为我需要进行DirectShow开发(因此需要构建基础类,而这些基础类并没有在WSDK 7.0a版本中发布)。

我可以假设它没有更新VS2010的设置,因为在我安装Windows 7.1 SDK时,VS2010并未被安装,这种假设是正确的吗?

我可以手动解决这个问题吗,还是应该卸载Windows 7.1 SDK,然后重新安装它?

针对这个问题,是否有其他建议或解决方法?


3个回答

21

如果你使用的是Visual Studio命令提示符,我提到你需要修改VCVarsQueryRegistry.bat文件(它被%VSINSTALLDIR%\VC\vcvarsall.bat间接调用),该文件位于%VSINSTALLDIR%\Common7\Tools文件夹中(通常为C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\Tools),需要修改第26行:

@for /F "tokens=1,2*" %%i in ('reg query "%1\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.0A" /v "InstallationFolder"') DO (
@for /F "tokens=1,2*" %%i in ('reg query "%1\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.1" /v "InstallationFolder"') DO (

我希望微软的某个人能够解释为什么WindowsSdkVer.exe在VS 2010中无法正常工作...


2
最好将其修改为 @for /F "tokens=1,2*" %%i in ('reg query "%1\SOFTWARE\Microsoft\Microsoft SDKs\Windows" /v "CurrentInstallFolder"') DO (,以便使用 WindowsSdkVer.exe 选择的版本。 - ivan_pozdeev
1
虽然,如果你按照@ivan_pozdeev的建议去做,你也应该编辑下一行代码,检查CurrentInstallFolder而不是InstallationFolder,否则它会出错。 - lapis

19

在项目属性->配置属性->常规中,将平台工具集设置为WindowsSDK7.1(或您想要使用的其他版本)。记住,在执行此操作时根据需要选择所有配置(发布、调试等)和所有平台(win32、x64等)。文档说可以在解决方案属性中设置此选项,但事实并非如此。


1
此路线的更详细说明请参见http://blogs.msdn.com/b/chuckw/archive/2010/06/15/windows-sdk-7-1.aspx。 - Fizz

2

那个页面上的指令不适用于VS2010。虽然有一些试图进行更正的评论,但它们也是错误的 :) - Nerdtron

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接