首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CI服务器上的MSBuild找不到AL.exe

CI服务器上的MSBuild找不到AL.exe
EN

Stack Overflow用户
提问于 2010-06-07 00:03:07
回答 9查看 35.1K关注 0票数 49

我的TeamCity CI构建服务器出现了问题,在编译过程中,会出现以下错误:

C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(2342,9):error MSB3086:任务无法使用SdkToolsPath“或注册表项"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.0A”找到"AL.exe“。确保设置了SdkToolsPath,并确保该工具存在于SdkToolsPath下特定处理器的正确位置,并确保安装了Microsoft

我发现了一年前的类似报告,当时人们正在升级到.NET 3.5,例如这一个。在这种情况下,安装最新的SDK解决了这个问题,但是我已经在我的构建服务器上安装了最新的SDK (7和.NET框架4)。MSBuild工具都在服务器上,在一个名为

C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319

AL.exe存在于

C:\Program \Microsoft\Windows\v7.1\Bin\NETFX4.0工具

但是,错误消息中提到的注册表项不存在。因此,MSBuild的安装/配置似乎有问题。此错误仅发生在具有需要AL.exe的嵌入式资源的项目中。

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2010-06-23 15:25:03

因为您已经安装了最新的SDK (我假设这是v7.1)

  1. 从Start菜单转到“MicrosoftWindowsSDKv7.1”
  2. 选择“WindowsSDK7.1命令提示符”并输入
  3. cd设置
  4. WindowsSdkVer -version:v7.1

这将告诉msbuild使用该版本的工具,而不需要进行任何可怕的注册表编辑。

票数 54
EN

Stack Overflow用户

发布于 2017-02-09 15:29:57

尽管这个问题很老,但它仍然出现在谷歌搜索结果的顶部,所以我决定把我的解决方案也发出去。在Windows 2016和Windows10Pro上安装TeamCity时,我陷入了同样的问题。

我已经安装了Microsoft Build Tools 2015Windows 10 SDK (仅用于.NET 4.6.2的工具),并从问题中得到了错误。

缺少的难题是如何设置环境变量:TargetFrameworkSDKToolsDirectory=C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.2 Tools

在设置环境变量之后,MSBuild能够解决所有需要的工具,包括AL.exe,并成功构建。

请告诉我是否可以通过在注册表中设置值来达到相同的效果,但是在这种情况下,环境变量也可以很好地工作,并且不需要安装VS。

票数 18
EN

Stack Overflow用户

发布于 2010-09-21 10:16:37

您还需要应用以下注册表修复来更新msbuild,以指向V7.1SDK值。

代码语言:javascript
复制
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\4.0]
"MSBuildToolsPath"="C:\\WINDOWS\\Microsoft.NET\\Framework\\v4.0.30319\\"
"MSBuildToolsRoot"="C:\\WINDOWS\\Microsoft.NET\\Framework\\"
"FrameworkSDKRoot"="$(Registry:HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Microsoft SDKs\\Windows\\v7.1@InstallationFolder)"
"MSBuildRuntimeVersion"="4.0.30319"
"SDK40ToolsPath"="$(Registry:HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Microsoft SDKs\\Windows\\v7.1\\WinSDK-NetFx40Tools-x86@InstallationFolder)"
"SDK35ToolsPath"="$(Registry:HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Microsoft SDKs\\Windows\\v7.1\\WinSDKNetFx35Tools@InstallationFolder)"
"MSBuildToolsPath32"="$(Registry:HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\MSBuild\\ToolsVersions\\4.0@MSBuildToolsPath)"
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2986440

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档