为了账号安全,请及时绑定邮箱和手机立即绑定

运行MSBuild无法读取SDKToolsPath

运行MSBuild无法读取SDKToolsPath

catspeake 2019-11-22 15:31:25
你好,我在运行一个NAnt脚本时遇到了一个问题,该脚本用于在与VS2008及其相关工具一起编译时正确地构建基于.Net 2.0的网站。我最近将所有项目/解决方案文件升级到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框架,但是我没有在Windows SDK的.Net 4.0特定版本上运行。经过一番实验和研究,我终于设置了一个新的环境变量“ SDKToolsPath”,并将其指向Windows 6.0 sdk文件夹中sgen.exe的副本。这产生了相同的错误,但是让我注意到,即使设置了SDKToolsPath环境变量IS(确认我可以在命令行中“回显”它并且具有期望的值),该错误消息似乎也表明它是不被读取(请注意用空引号引起来)。我发现的大多数信息都是特定于.Net 3.5(或更早版本)的。那里还没有多少4.0相关。搜索错误代码MSB3086也不产生任何作用。知道这可能是什么吗?史考特
查看完整描述

3 回答

?
呼啦一阵风

TA贡献1802条经验 获得超6个赞

我不能将Visual Studio放在构建服务器上。


SDK v7.0A是随Visual Studio 2010一起安装的SDK(A表示这是VS版本)。从那时起,发布了新版本。适用于Windows 7和.NET Framework AKA v7.1的 Microsoft Windows SDK 。


我已经在我的构建服务器上安装了它。然后通过Windows SDK 7.1命令提示符(开始=>所有程序=> Microsoft Windows SDK 7.1),将SDK的默认版本设置为7.1。


脚步:


cd Setup


WindowsSdkVer.exe -version:v7.1

编辑以包含LordHits的评论:不需要安装整个SDK。仅安装“ .NET开发/智能和参考程序集”和“ .NET开发/工具”选项就足够了。


查看完整回答
反对 回复 2019-11-22
?
紫衣仙女

TA贡献1839条经验 获得超15个赞

我最近在我们的构建服务器上遇到了类似的问题。


我从其计算机(已安装VS2010)将7.0A文件夹(C:\ Program Files \ Microsoft SDKs \ Windows \ 7.0A)复制到同一位置的生成服务器。


创建以下注册表项后:HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Microsoft SDKs \ Windows \ v7.0A。将InstallationFolder设置为C:\ Program Files \ Microsoft SDKs \ Windows \ 7.0A。


如果您对构建服务器上的注册表有何疑问,也可以引用已安装VS2010的计算机上的注册表。


查看完整回答
反对 回复 2019-11-22
  • 3 回答
  • 0 关注
  • 907 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信