3

いくつかのサード パーティの依存関係を追加する必要がある NuGet パッケージを作成している場合、基本的に 2 つのオプションがあります。

  1. パッケージの lib フォルダーにある DLL を内部化します。
  2. サード パーティのライブラリを nuspec ファイルの依存関係として参照します。

たとえば、RavenDB はサード パーティの依存関係と同じように内部化されていますが、他のプロジェクトは他の NuGet パッケージに明示的に依存していることに気付きました。

いずれかのアプローチをいつ選択するかについて、ベストプラクティス/ヒントがあるかどうか疑問に思っています。それぞれの長所と短所は何ですか?

4

2 に答える 2

6

NuGet の良き精神として、DLL を内部化するのではなく、サード パーティのパッケージに依存関係を追加することをお勧めします。NuGet は "依存関係" を中心に構築されており、それらに依存することは完全に理にかなっています。

于 2012-12-20T16:26:27.950 に答える
0

実装がバージョン固有であるかどうか、および依存関係が更新されてリリースされたときにパッケージが恩恵を受ける可能性があるかどうか (または、実装が廃止された場合に破損する可能性があるかどうか) に依存すると思います。

また、パッケージに nuget の依存関係を持たせることで、重複とディレクトリ サイズ (およびパッケージ サイズ) を削減できます。より一般的なライブラリは、プロジェクトに 1 回だけ含まれます (ただし、このライブラリを使用する可能性のある他のパッケージは、既に含まれているため、利点があります)。

于 2012-12-20T16:28:46.767 に答える