web-dev-qa-db-ja.com

プロジェクト参照とDLL参照-どちらが良いですか?

このテーマに関して他の質問があることは知っています。これについて この質問 を確認しましたが、この両方についてもう少し議論と情報を見たいと思います。ソリューションにプロジェクトを追加してプロジェクトを参照する練習、または.dllへの参照を追加する練習?

39
Zann Anderson

それはあまり選択の余地はありません。両方のプロジェクトのソリューションがある場合は、プロジェクト参照を使用してください。ソリューションにプロジェクトがない場合は、アセンブリ参照を使用するhaveを使用します。

したがって、本当の質問はおそらく両方のプロジェクトでソリューションを作成する必要があるでしょうか?はい。プロジェクトがまだデバッグ段階にあり、バグ修正が必要な場合に限ります。

31
Hans Passant

Dllしかない場合は、(明らかに)dll参照で行き詰まっています。

ソースがある場合は、通常、プロジェクト参照を使用することをお勧めします。変更されることのないユーティリティライブラリがある場合もありますが、バグ修正が必要になる可能性が少しでもある場合は、プロジェクト参照があるとデバッグが非常に簡単になります。

18
ChrisF

要約-DLLによるプロジェクトごとのプロジェクト参照

プロジェクトによる参照

  • コードが見える
  • すべての参照を検索します。クラス上(コードが表示されるため)
  • (全体的に)テストに適しています
  • コードの再設計に効果的(影響)

DLLによる参照

  • コードが隠されている
  • たとえば、フレームワークとプロジェクト(フレームワークの提供用)
  • より速いコンパイル(DLLはすでにコンパイルされているため)
3
Franz

まあ、プロジェクト参照は、デバッグモードとリリースモードの両方でビルドとテストを行うときに役立ちます。 DLLを直接追加すると、その特定のDLLがビルドされたときのようにロックされます。プロジェクト参照により、これがビルド時の決定になります。

2
Taylor Leese