【发布时间】:2014-09-30 23:32:11
【问题描述】:
在 64 位 Windows 7 机器上,我安装了 .Net framework 4.5.1 和 Windows SDK for Windows 8.1 http://msdn.microsoft.com/en-us/windows/desktop/aa904949.aspx
在尝试构建解决方案时,我收到以下错误(似乎相关):
错误 MSB3086:任务无法使用 SdkToolsPath“”或注册表项“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v8.0A\WinSDK-NetFx40Tools-x86”找到“AL.exe”。确保设置了 SdkToolsPath,并且该工具存在于 SdkToolsPath 下的正确处理器特定位置,并且安装了 Microsoft Windows SDK
错误 MSB3091:任务失败,因为找不到“resgen.exe”,或者未安装正确的 Microsoft Windows SDK。该任务正在注册表项 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.0A\WinSDK-NetFx35Tools-x86 的 InstallationFolder 值中指定的位置下的“bin”子目录中查找“resgen.exe”。您可以通过执行以下操作之一来解决此问题: 1) 安装 Microsoft Windows SDK。 2) 安装 Visual Studio 2010。 3) 手动将上述注册表项设置到正确的位置。 4)将正确的位置传递给任务的“ToolPath”参数。
我尝试了建议的解决方案(除了在该机器上安装VS:不允许),在互联网上找到了许多其他的,例如重新安装SDK,在注册表中执行一些hack,设置环境变量,在项目中添加标签,尝试多次命令行切换到 msbuild 进程,并遵循以下线程:
Running MSBuild fails to read SDKToolsPath
Failing Build because it can't find AL.exe
tfs 2012 build task failed because "resgen" was not found
但他们都没有解决问题。
这个问题类似于:
https://stackoverflow.com/q/23655387/1288109
没有答案!
任何建议将不胜感激!
【问题讨论】:
标签: .net sdk msbuild windows-7-x64