2

我使用 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。

为什么我会收到此错误,我可以做些什么来进一步诊断问题?

4

3 回答 3

2

错误是因为我没有 .NET 2.0 SDK。我假设 SDK 是随 Visual Studio 安装的,但显然只有当前版本。对于 2008 年,这是 .NET 3.5 SDK,而不是 2.0,并且不提供以前的版本。

从Microsoft下载并安装 2.0 SDK解决了该问题。

于 2011-05-12T08:23:09.437 回答
1

对我来说,解决方法是将 nant 更新到 0.92。我对 .NET 2.0 SDK 所做的一切都没有用。

于 2013-07-23T15:02:19.947 回答
1

我也遇到了这个问题。我确保安装了 2.0 SDK,并升级到了最新版本的 NAnt,但这并没有解决问题。我验证了注册表项,甚至在 config -all 中硬编码了 SDK 的位置,但均无济于事。

最终对我有用的是在我的 64 位机器上安装 .NET 2.0 SDK 的 32 位版本。

于 2014-03-03T17:31:04.227 回答