使用MSBuild时出现以下错误.我得到的错误是:
C:\ Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(2769,5):错误MSB3086:任务找不到使用SdkToolsPath""或注册表项"HKEY_LOCAL_MACHINE"的"sgen.exe" SOFTWARE\Microsoft\Microsoft SDKs\Windows\v8.0A\WinSDK-NetFx40Tools-x86".确保已设置SdkToolsPath,并且该工具位于SdkToolsPath下正确的处理器特定位置,并且已安装Microsoft Windows SDK
到目前为止,我已经做了以下事情:
1)从这里安装Windows SDK v8
2)我确认注册表项"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v8.0\WinSDK-NetFx40Tools-x86"存在于注册表中
3)上面2中的注册表项指向路径"C:\ Program Files\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools",我已确认路径存在且sgen.exe位于那个目录
4)我也做了一些自己的研究并遇到了这个SO帖子,但答案是在服务器上安装visual studio,这对我来说不是一个选择.但是,我想指出我有另一个构建服务器具有完全相同的设置,并且它工作正常,所以我的临时工作是在该服务器上构建它,然后复制构建.
任何人都对问题可能有什么了解?
我终于能够解决它了.解决的步骤:
1)通过程序和功能卸载Windows sdk 8.
2)从这里安装Windows sdk 8.1 .
3)编辑注册表项
SDK40ToolsPath
SDK35ToolsPath
下
HKLM\SOFTWARE\Wow6432Node \的MSBuild\ToolsVersions\11.0
至
$(注册表:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v8.1A\WinSDK-NetFx40Tools-x86 @ InstallationFolder)
和登记钥匙
FrameworkSDKRoot
WindowsSDK80Path
至
$(注册表:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v8.1@InstallationFolder)
希望如果他们遇到同样的问题,这可能会帮助其他人.