2

両者の違いを完全に理解していると思います。

参照は、使用されている特定のアセンブリを指すだけです(完全なパスが指定されているか、GAC で検索されているかに関係なく)。

ProjectReferencesは、参照先のプロジェクトが参照元のプロジェクトと同じ VS ソリューションにあると想定し、プロジェクト GUID を使用して、参照する必要があるプロジェクトを決定します。

ProjectReferenceを持つ利点は、Visual Studio が依存関係を検出し、必要に応じて再構築できることです (プロジェクト A を参照し、それが構築されていない場合、再構築されます)。さらに、参照されたプロジェクトの出力が取得されます (現在のアクティブな構成などに基づいて)。

これにより、私たちは「すべての ProjectReference」アプローチを目指して努力するようになりました。

私の問題は、これが多くの依存関係プロジェクトが含まれているソリューション ファイルにつながることです。依存関係自体に参照アセンブリがある場合、これらは ProjectReferences として追加され、同じ .sln ファイルによってビルドされ、独立していないことが強制されます。

私の質問は - どのような場合に ProjectReferences を問題なく使用する必要がありますか? そして、どのような場合にそれらを絶対に避けるべきですか? (もしあれば)

4

2 に答える 2

3

参照プロジェクトのコードを開発している場合は、プロジェクト参照を使用するのが理想的です。ただし、サード パーティ製のコントロール (Telerik RadControls など) を購入した場合は、おそらく DLL (リファレンス) を参照するだけです。

コンパイルする必要がない場合は、バージョン番号などを変更してください。参照を使用してください。

また、毎回プロジェクト参照をコンパイルするわけではありません。コードが変更されたこと、またはそれをトリガーする他のいくつかのことがわかった場合のみ (完全な再構築、またはそれ自体の参照の特定の変更など)。

于 2012-07-24T14:00:47.860 に答える
3

これらの参照に変更を加えて再コンパイルする必要がある場合は、プロジェクト参照を保持することをお勧めしますが、依存関係の開発が完了したら、リリースとしてコンパイルし、それらを GAC に登録し、アセンブリ参照を使用してコンパイル時間を短縮します!

于 2012-07-24T14:04:26.367 に答える