私の会社には、テストプロジェクトをサポートするとともに、多くのクラスのlibaryプロジェクトで構成される共通のコードライブラリがあります。各クラスライブラリプロジェクトは、1つのバイナリを出力します。 Company.Common.Serialization.dll。コンパイルされ、テストされたバイナリとソースコードを所有しているので、消費するアプリケーションがバイナリまたはプロジェクト参照を使用するかどうかについての議論があります。バイナリリファレンスとは対照的なプロジェクトレファレンスをいつ使うべきですか?
プロジェクト参照の賛成でいくつかの引数:
- プロジェクトの参照は、ユーザーが追加のプロジェクト/ソリューションをロードするオーバーヘッドなしに、すべてのソリューションコードをデバッグして表示することができます。
- プロジェクト参照は、ソース管理システムにコミットされた共通コンポーネントの変更に対応するのに役立ちます。これは、変更がアクティブなソリューションなしで容易に識別できるためです。
バイナリの参照を支持するいくつかの引数:
- バイナリ参照がソリューションを簡素化し、高速化ソリューションの読み込み時間のためになるだろう。
- バイナリリファレンスでは、既に焼成され安定していることが判明しているコードに気を取られることなく、新しいコードに集中することができます。
- バイナリリファレンスでは、組織外の人が行う必要があるように、共通ライブラリを使用しているので、私たちは適切に犬を食べさせるでしょう。
- バイナリリファレンスはデバッグできないため、既存のテストプロジェクトを拡張して消費するアプリケーションのコンテキスト内でテストして修正するのではなく、問題を複製して修正する必要があります。
- バイナリリファレンスは、バイナリの安定バージョンが流入バージョンではなく参照されるため、クラスライブラリプロジェクトでの同時開発が消費アプリケーションに影響を与えないようにします。必要に応じてコンポーネントの新しいリリースを組み込むかどうかは、プロジェクトリーダーの決定になります。
プロジェクトまたはバイナリの参照を使用する際のポリシー/プリファレンスは何ですか?
質問には重要な点がありません。プロジェクト参照を使用すると、相互参照機能を使用してツールを使用して変数/メソッドの用途を見つけることができます。この機能は、バイナリ参照では使用できません。 –