相关疑难解决方法(0)

运行MSBuild无法读取SDKToolsPath

你好,我在运行一个NAnt脚本时会遇到一些问题,这个脚本曾用于正确构建基于.Net 2.0的网站,当使用VS2008及其相关工具进行编译时.我最近将所有项目/解决方案文件升级到VS2010,现在我的构建失败并出现以下错误:

[exec] C:\ Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets(2249,9):错误MSB3086:任务无法使用S dkToolsPath""或注册表找到"sgen.exe"键"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.0A".确保已设置SdkToolsPath,并且该工具位于SdkToolsPath下正确的处理器特定位置,并且已安装Microsoft Windows SDK

现在,我已经在构建服务器上安装了Windows SDK的早期版本(.Net 3.5),并且安装了完整的.Net 4.0框架,但我没有遇到.Net 4.0特定版本的Windows SDK.

经过一些实验和研究,我终于设置了一个新的环境变量"SDKToolsPath"并将其指向我的Windows 6.0 sdk文件夹中的sgen.exe副本.这会产生相同的错误,但它让我注意到即使设置了SDKToolsPath环境变量(确认我可以在命令行"回显"它并且它具有预期的值),错误消息似乎表明它是没有被阅读(注意空引号).

我发现的大多数信息都是特定的.Net 3.5(或更早版本).还没有多少相关的4.0.搜索错误代码MSB3086也没有任何用处.知道这可能是什么吗?

斯科特

.net msbuild

128
推荐指数
8
解决办法
11万
查看次数

CI服务器上的MSBuild无法找到AL.exe

我在TeamCity CI构建服务器上遇到问题,在编译期间我收到以下错误:

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

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

C:\ WINDOWS\Microsoft.NET \框架\ v4.0.30319

和AL.exe存在于

C:\ Program Files\Microsoft SDKs\Windows\v7.1\Bin\NETFX 4.0工具

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

msbuild teamcity winapi .net-4.0

45
推荐指数
3
解决办法
3万
查看次数

标签 统计

msbuild ×2

.net ×1

.net-4.0 ×1

teamcity ×1

winapi ×1