迁移到.net 4.0时出现问题,在尝试构建时发生以下错误.
C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1917,9): error MSB3086: Task could not find "LC.exe" using the SdkToolsPath "" 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 External Program Failed: C:\windows\microsoft.net\framework\v4.0.30319\MSBuild.exe (return code was 1)
微软Windows sdk的最新版本安装在机器上,但版本为v7.1.要解决这个问题,我把注册表项放在以下位置
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.0A\InstallationFolder to C:\Program Files\Microsoft SDKs\Windows\v7.1\.
解决方法
看看:
Running MSBuild fails to read SDKToolsPath
在其中一个答案Simmo建议将默认版本的SDK设置为7.1. Windows SDK的7.1版本比Visual Studio 2010附带的版本(即7.0a)更新. LC.exe包含在7.1中,一旦您使用WindowsSdkVer.exe将7.1设置为默认版本,一切正常.
然而,两个小怪物:
1)WindowsSdkVer.exe允许您从VS 2005和VS 2008中进行选择,但不列出VS 2010.只需设置VS 2008的默认版本,并在2010年生效.
2)WindowsSdkVer.exe -version:v7.1没有为我工作,但WindowsSdkVer.exe没有任何参数,它提出了一个Windows界面.