2

ビルドスクリプトとしてNAnt0.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()

VisualStudio2008/2010とともにSDKがインストールされていると確信しています。

このエラーが発生するのはなぜですか。問題をさらに診断するにはどうすればよいですか。

4

3 に答える 3

2

エラーは、.NET2.0SDKがなかったためです。SDKはVisualStudioとともにインストールされていると思いましたが、現在のバージョンのみがインストールされているようです。2008の場合、これは.NET 3.5 SDKであり、2.0ではなく、以前のバージョンは提供されていません。

Microsoftから2.0SDKをダウンロードしてインストールすると、問題が解決しました。

于 2011-05-12T08:23:09.437 に答える
1

私の場合、修正はnantを0.92に更新することでした。.NET2.0SDKで行ったことは何も機能しませんでした。

于 2013-07-23T15:02:19.947 に答える
1

私もこの問題に遭遇しました。2.0 SDKがインストールされていることを確認し、NAntの最新バージョンにアップグレードしましたが、修正されませんでした。レジストリエントリを確認し、構成内のSDKの場所をハードコーディングしましたが、すべて役に立ちませんでした。

最終的に私にとってうまくいったのは、32ビットバージョンの.NET2.0SDKを64ビットマシンにインストールすることでした。

于 2014-03-03T17:31:04.227 に答える