我在迁移到 .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)
机器上安装了最新版本的microsoft windows sdk,但版本是v7.1。为了解决这个问题,我将以下注册表项放在
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.0A\InstallationFolder
to C:\Program Files\Microsoft SDKs\Windows\v7.1\.
这有效,但是我觉得将 7.0A 注册表项指向 7.1 安装有点肮脏。有没有人有更好的解决方案来解决这个问题?
看一眼:运行 MSBuild 无法读取 SDKToolsPath https://stackoverflow.com/questions/2731365/running-msbuild-fails-to-read-sdktoolspath
在其中一个答案中Simmo https://stackoverflow.com/users/287139/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界面。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)