首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >运行MSBuild无法读取SDKToolsPath

运行MSBuild无法读取SDKToolsPath
EN

Stack Overflow用户
提问于 2010-04-29 00:30:36
回答 25查看 121.8K关注 0票数 133

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

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

现在,我在构建服务器上安装了Windows SDK的早期版本(Windows3.5),并且安装了完整的.Net 4.0框架,但我还没有运行过特定于.Net 4.0的Windows SDK版本。

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

我找到的大多数信息都是特定于.Net 3.5 (或更早版本)的。目前还没有太多与4.0相关的版本。搜索错误代码MSB3086也没有得到任何有用的结果。知道这可能是什么吗?

史考特

EN

回答 25

Stack Overflow用户

回答已采纳

发布于 2010-04-30 00:43:53

我不得不咬紧牙关,在我们的构建服务器上安装VS2010来解决这个问题。据我所知,MSDN上没有可用的7.0A版本的Windows SDK。然而,安装VS2010似乎就是在安装它,在Program Files\Microsoft SDK\Windows中创建了7.0A regkey和7.0A文件夹。

票数 15
EN

Stack Overflow用户

发布于 2010-05-26 01:44:03

我不能面对把Visual Studio放在构建服务器上。

SDK v7.0A是随Visual Studio 2010一起安装的SDK (A表示这是VS版本)。从那时起,一个更新的版本已经发布。Microsoft Windows SDK for Windows 7 and .NET Framework AKA v7.1

我已经在我的构建服务器上安装了它。然后通过Windows SDK7.1命令提示符(Start => All Programs => Microsoft Windows SDK7.1),我将SDK的默认版本设置为7.1。

步骤:

代码语言:javascript
复制
cd Setup

WindowsSdkVer.exe -version:v7.1

编辑以包含LordHits的评论: one不需要安装整个。只需安装".NET开发/智能感知和引用程序集“和".NET开发/工具”选项就足够了。

票数 227
EN

Stack Overflow用户

发布于 2013-09-05 13:12:14

只需将值为Off的GenerateSerializationAssemblies参数传递给MsBuild即可。

代码语言:javascript
复制
msbuild.exe /p:GenerateSerializationAssemblies=Off
票数 23
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2731365

复制
相关文章

相似问题

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