在64位的Windows7机器上,我安装了http://msdn.microsoft.com/en-us/windows/desktop/aa904949.aspx的.Net框架4.5.1和Windows SDK for Windows8.1
在尝试构建解决方案时,我得到了以下错误(似乎是相关的):
错误MSB3086:任务无法使用SdkToolsPath "“或注册表项WinSDK\Windows\v8.0A\WinSDK-NetFx40Tools-x86”找到"AL.exe“。确保已设置SdkToolsPath,工具位于SdkToolsPath下正确的处理器特定位置,并且已安装Microsoft Windows SDK
错误MSB3091:任务失败,因为找不到"resgen.exe“,或者未安装正确的Microsoft Windows SDK。该任务将在"bin“子目录中查找"resgen.exe”,该子目录位于注册表项WinSDK\Windows\ InstallationFolder \v7.0A\WinSDK-NetFx35Tools-x86的WinSDK值中指定的位置。您可以通过执行以下操作之一来解决此问题: 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
那是没有答案的!
任何建议都将不胜感激!
发布于 2014-09-30 23:32:11
尽管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\$(Configuration)\,最终构建了我的解决方案。
另请参阅:
https://stackoverflow.com/questions/26114183
复制相似问题