【发布时间】:2011-02-28 12:14:12
【问题描述】:
我的 TeamCity CI 构建服务器出现问题,在编译期间出现以下错误:
C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(2342, 9):错误 MSB3086:任务无法使用 SdkToolsPath“”或注册表项找到“AL.exe” “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.0A”。确保设置了 SdkToolsPath,并且该工具存在于 SdkToolsPath 下的正确处理器特定位置,并且安装了 Microsoft Windows SDK
我发现一年前人们升级到 .NET 3.5 时的类似报告,例如 this one。在这种情况下,安装最新的 SDK 解决了这个问题,但是我已经在我的构建服务器上安装了最新的 SDK (Microsoft Windows SDK for Windows 7 and .NET Framework 4)。 MSBuild 工具都在服务器上的一个名为
的文件夹中C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319
而AL.exe存在于
C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\NETFX 4.0 工具
但是,错误消息中提到的注册表项不存在。因此,似乎 MSBuild 的安装/配置有问题。此错误仅发生在具有嵌入式资源且需要 AL.exe 的项目中。
【问题讨论】:
-
这个问题今天重新出现在我们面前,经过几个晚上的 .NET 补丁,我们不得不在接受的答案中重新运行命令。很奇怪!
标签: winapi .net-4.0 msbuild teamcity