【Visual Studio 2010】修改注册表解决误删除某一版本sdk后的编译故障

安装了最新版的Win7 sdk(v7.1)后,觉得6.0a和7.0a的sdk挺碍眼,就都删除了。问题就来了:vs2008和vs2005可以用sdk自带的工具选择sdk的版本,但对vs2010无效。用vs2010新建的2.0、3.0、3.5版本的托管代码编译时都遇到问题:

 

"Task could not find "sgen.exe" using the SdkToolsPath "C:/Program Files (x86)/Microsoft SDKs/Windows/v7.0A/bin/NETFX 4.0 Tools/" or the registry key

"HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Microsoft SDKs/Windows/v7.0A". Make sure the SdkToolsPath is set and the tool exists in the correct processor specific location under the SdkToolsPath and that the Microsoft Windows SDK is installed"

 

google一下,发现这篇文章

http://www.gotknowhow.com/articles/task-could-not-find-sgen-exe-using-the-sdktoolspath-for-v70a

但对我来说的确算不上很好的解决办法(老版本的文件夹都删除了)

 

猜想可能编译器环境的路径问题,打开TuneUp Registry Editor(指注册表编辑器,搜索regedit),搜索V7.0A,在以下位置找到问题点:

 

HKEY_LOCAL_MACHINE/SOFTWARE/Wow6432Node/Microsoft/MSBuild/ToolsVersions/4.0

HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MSBuild/ToolsVersions/4.0

 

把里面的相关键值的V7.0A替换成现在的SDK的版本(V7.1),再编译,通过.........

 

 

另外VC2010中的SDK的选择可以在工程中设置,Project->Property Pages->Configuration Properties->General->Platform Toolset 在下拉框中选择sdk的版本,路径也只能对单个工程设置了,感觉这样更好。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值