14

いくつかのサービスのセットを構築しています。各サービスには、関連するプロジェクトを持つ独自のソリューションがあります。これらのサービスの多くは、同じ NuGet パッケージに依存しています。
すべてのソリューションで「パッケージの復元」が有効になっています。

一部のソリューションは、他のソリューションが所有するアセンブリを参照しています。これが、すべてのソリューションが異なる NuGet パッケージのまったく同じバージョンを参照する必要がある明らかな理由の 1 つです。

最終結果を達成するには、すべてのサービスが連携する必要があります。それらはパッケージ化され、単一の製品の一部としてインストールされます。これが、すべてを同じバージョンの NuGet パッケージで実行したいもう 1 つの理由です。

ソリューション間でパッケージ バージョンの一貫性を維持するのに問題があります。

現在、パッケージのバージョンを手動で確認して更新していますが、1 つのソリューション内のプロジェクトが同じパッケージの異なるバージョンを参照することになるため、時折コンパイル エラーが発生することもあります。

これを行うための推奨される方法はありますか (できれば自動プロセス)?
Package Restore を使用しない方がよいでしょうか?
この件に関して一般的なアドバイスはありますか?

ありがとう

更新: NugGet プロジェクトhttp://nuget.codeplex.com/workitem/2623でこれに関する問題を作成しました

4

2 に答える 2

5

これを解決するには:

  1. 使用するパッケージの正しいバージョンをホストする独自のプライベート NuGet サーバーを作成します ( 1および2を参照)。
  2. そのサーバーを使用するように各ビルド システムを構成し、最新バージョンに自動更新します。

これにはサーバーが必要ですが、すべての人が正しいバージョンを使用できるようにするだけでなく、ビルド サーバーのダウンロードも高速化します。

于 2012-09-21T08:12:29.150 に答える