在使用MSBuild时,我会得到以下错误。我得到的错误是:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(2769,5):错误MSB3086:任务无法找到使用SdkToolsPath“或注册表项"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows8.0A\WinSDK-NetFx40Tools-x86”的"sgen.exe“。确保将SdkToolsPath和工具exi设置在SdkToolsPath下特定处理器的正确位置,并确保安装了Microsoft
到目前为止,我所做的工作如下:
1)从v8安装Windows 这里
2)我确认注册表中存在注册表项"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\V8.0A\WinSDK-NetFx40Tools-x86“
3)上面2处的注册表项指向路径"C:\Program \Microsoft\Windows\v8.0A\bin\NETFX4.0工具“,我已经确认路径存在,并且sgen.exe位于该目录中。
4)我也做了一些自己的研究,并遇到了这是如此的帖子,但答案是在服务器上安装visual,这对我来说不是一种选择。但是,我想指出的是,我有另一个具有完全相同设置的构建服务器,它运行良好,所以我的临时工作是在该服务器上构建它,然后复制构建。
有谁对这个问题有洞察力吗?
发布于 2015-12-02 19:59:26
我终于解决了这个问题。解决问题的步骤:
1)通过程序和功能卸载windows 8。
2)从这里安装WindowsSDK8.1。
3)编辑注册表项
在……下面
HKLM\SOFTWARE\Wow6432Node\MSBuild\ToolsVersions\11.0
至
$(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v8.1A\WinSDK-NetFx40Tools-x86@InstallationFolder)
和登记的钥匙
至
$(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v8.1@InstallationFolder)
希望这会对将来遇到同样问题的其他人有所帮助。
发布于 2017-01-09 12:40:35
这个答案对我没有用。我已经拥有Windows8.1SDK,但没有版本8,我不得不下载包含.Net Framework4.5SDK的版本8。.Net Framework4.5SDK(随Windows8SDK一起提供)和4.6SDK(随VisualStudio2015一起提供)。我有和2015年的比赛。
所有SDK都可以在https://msdn.microsoft.com/en-us/library/5a4x27ek(v=vs.110).aspx上单独下载。
我下载了4.5SDK并安装了它(注意没有Application特性,因为这会导致安装错误)。重新启动后,我的构建运行良好。
发布于 2018-01-30 19:46:44
我也犯了同样的错误,sgen.exe在使用MSBuild时丢失了。我不需要更改注册表值。我确保MSBuild命令使用了我已经安装的版本。我在我的电脑上安装了Visual 2015和2017。
在我的例子中,是C:\Program Files (x86)\MSBuild\14.0\bin。因此,我将路径设置为此值,当我使用新路径集运行批处理文件时,它成功编译。
https://stackoverflow.com/questions/34045326
复制相似问题