您好,我遇到了一些问题。我运行一个NAnt脚本,用于构建基于.Net 2.0的网站。在使用VS2008及其相关工具进行编译时,这个脚本能够正常工作。但是最近我将所有项目/解决方案文件升级到了VS2010,现在我的构建失败,并显示以下错误:
[exec] C:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Microsoft.Common.targets(2249,9): 错误MSB3086:任务无法找到“sgen.exe”,使用SDKToolsPath“” 或注册表键 “HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Microsoft SDKs \ Windows \ v7.0A”。确保 SdkToolsPath已设置,并且工具存在于正确的处理器 特定位置下的SdkToolsPath,以及Microsoft 安装了Windows SDK
现在,我在构建服务器上安装了先前版本(.Net 3.5)的Windows SDK,完整的.Net 4.0框架已经安装。但是我没有找到 .Net 4.0特定版本的Windows SDK。
经过一番实验和研究,我最终只需设置一个新的环境变量"SDKToolsPath"并将其指向我的Windows 6.0 SDK文件夹中的sgen.exe副本。这生成了相同的错误,但它让我注意到即使SDKToolsPath环境变量已设置(确认我可以在命令行中“echo”它并且它具有预期的值),错误消息似乎表明它没有被读取(请注意空引号)。
我找到的大部分信息都是针对.Net 3.5(或更早版本)的。目前没有太多4.0相关的信息。搜索错误代码MSB3086也没有产生有用的结果。您知道这可能是什么问题吗?
Scott