我使用NAnt 0.85作为构建脚本。该脚本的一部分是使用delay-sign
任务完成延迟签名程序集的签名过程。
在构建服务器上执行脚本时,它会毫无问题地运行。
当我在本地开发机器上运行相同的脚本时,我收到警告:
The SDK for the 'net-2.0' framework is not available or not configured.
at NAnt.Core.Tasks.ExternalProgramBase.DetermineFilePath()
at NAnt.Core.Tasks.ExternalProgramBase.get_ProgramFileName()
at NAnt.Core.Tasks.ExternalProgramBase.PrepareProcess(Process process)
at NAnt.Core.Tasks.ExternalProgramBase.StartProcess()
at NAnt.Core.Tasks.ExternalProgramBase.ExecuteTask()
at NAnt.DotNet.Tasks.DelaySignTask.ExecuteTask()
at NAnt.Core.Task.Execute()
at NAnt.Core.Target.Execute()
at NAnt.Core.Project.Execute(String targetName, Boolean forceDependencies)
at NAnt.Core.Tasks.CallTask.ExecuteTask()
at NAnt.Core.Task.Execute()
at NAnt.Core.Target.Execute()
at NAnt.Core.Project.Execute(String targetName, Boolean forceDependencies)
at NAnt.Core.Project.Execute()
at NAnt.Core.Project.Run()
我很确定我已经安装了Visual Studio 2008/2010的SDK。
为什么我会收到此错误,我该怎么做才能进一步诊断问题?
答案 0 :(得分:2)
错误是因为我没有.NET 2.0 SDK。我假设SDK是用Visual Studio安装的,但显然只有当前版本。对于2008年,没有提供.NET 3.5 SDK,而不提供2.0和以前的版本。
从Microsoft下载并安装2.0 SDK解决了这个问题。
答案 1 :(得分:1)
对我来说,修复是将nant更新为0.92。我在.NET 2.0 SDK上所做的一切都没有用。
答案 2 :(得分:1)
我也遇到了这个问题。我确保安装了2.0 SDK,并且我升级到最新版本的NAnt,但是没有修复它。我验证了注册表项,甚至在配置中硬编码了SDK的位置 - 无效。
最终对我有用的是在我的64位计算机上安装32位版本的.NET 2.0 SDK。