msbuild失败:MSB3086,MSB3091:找不到"AL.exe","resgen.exe"

Sta*_*opo 2 .net msbuild sdk windows-7-x64

在64位Windows 7计算机上,我从http://msdn.microsoft.com/en-us/windows/desktop/aa904949.aspx安装了.Net framework 4.5.1和Windows SDK for Windows 8.1

在尝试构建解决方案时,我收到以下错误(这似乎是相关的):

错误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,在注册表中执行一些黑客攻击,设置环境变量,在项目中添加标签,尝试多个命令line切换到msbuild进程,并遵循以下线程:

运行MSBuild无法读取SDKToolsPath

失败的构建,因为它找不到AL.exe

tfs 2012构建任务失败,因为找不到"resgen"

但他们都没有解决问题.

这个问题类似于:

/sf/ask/1655877121/

没有答案!

任何建议将不胜感激!

Sta*_*opo 5

虽然SDK的设置说它是最新的,但可能不是.我终于解决了这个问题,删除了所有已安装的SDK版本,然后按以下顺序安装以下内容:

http://www.microsoft.com/en-us/download/details.aspx?id=3138

http://www.microsoft.com/en-us/download/details.aspx?id=8279

http://msdn.microsoft.com/en-us/windows/desktop/hh852363.aspx

http://msdn.microsoft.com/en-us/windows/desktop/aa904949.aspx

我只是指出可能存在一些其他相关问题:在安装了上述所有内容后,我终于有了另一种错误,对于某些项目(目标框架3.0),没有指定输出路径.它改为指定为bin\release.我用bin\$(配置)\替换它,我的解决方案最终构建.

也可以看看:

/sf/answers/1828672331/