0

NuGet パッケージをビルドして NuGet サーバーにプッシュするためのプロジェクトをいくつか設定していたので、後で Octopus Deploy で使用できるようになりました。

同じプロセスをレガシー プロジェクトに適用する必要が生じるまでは、すべて問題ありませんでした。エラーは次のとおりです。

エラー MSB4062: "OctoPack.Tasks.CreateOctoPackPackage" タスクをアセンブリ ...\OctoPack.Tasks.dll から読み込めませんでした。ファイルまたはアセンブリ 'file:///...\OctoPack.Tasks.dll' またはその依存関係の 1 つを読み込めませんでした。このアセンブリは、現在読み込まれているランタイムよりも新しいランタイムによってビルドされているため、読み込むことができません。宣言が正しいこと、およびアセンブリとそのすべての依存関係が利用可能であることを確認してください。

OctoPack が .Net 2.0 用に構築されていないことは理解できましたが、誰かがその問題を解決したかどうか疑問に思っています。

4

2 に答える 2

1

最終的に、.Net 2.0 および MSBuild 2 で動作するように Octopack コードを修正しました。これは、CruiseControl サーバーにパッケージ化されているすべての .Net 2.0 および 3.5 アプリケーションに正常に適用されます。

誰かが同様の状況にある場合、ここに修正されたコードがあります(元の Octopack からフォークされたもの)。

于 2015-06-21T19:31:35.053 に答える
1

アプリケーションのビルド ターゲットを 2.0 から最近のものに変更できますか? もしそうなら、Octopack のダウングレード バージョンを探すのではなく、アプリをアップグレードします。

または、OctoPack を使用する代わりに、NuGet.exe を使用してパッケージを作成することもできます。私は実際には OctoPack を好みますが、NuGet.exe は .NET のバージョンを気にしません。

于 2015-06-17T20:20:03.053 に答える