2012-06-29 14 views
21

いくつかの静的ライブラリ、いくつかのDLL、および実行可能ファイルを含むVisual Studio 2010のシンプルなソリューションがあります。プロジェクトの参照とプロジェクトの依存関係の違いは何ですか?

いくつかのライブラリが(例えばDLLは、DLL自体をビルドする前にビルドされる2つの静的libにプロジェクトを必要とする)、そしてこの達成するための2つの方法があるようですお互いに依存:私は右クリックした場合

1)プロジェクトの依存関係を選択してビルドの順序を設定することができます。

2)DLLプロジェクトを右クリックし、[プロパティ] - [フレームワークと参照]を選択し、新しい参照を追加します。

#1と#2の違いは何ですか? Visual Studio 2010で2つのプロジェクト間でビルドの依存関係を表現するより良い方法は何ですか?

+2

:ここ

は、Visual Studioの開発者の一人によって、この語るブログエントリ、およびその他の「VS2010とプロジェクト設定の変更」ですVisual Studioはビルド順を把握します。通常は、ビルド順を手動で編集する必要はありません。 – FrankE

+0

はい私の同僚は私に同じことを言った。私はちょうどその違いに興味があります – Emiliano

答えて

21

"プロジェクト参照定義"と "プロジェクト依存関係定義"の唯一の違いは、メインプロジェクトのリンクコマンドへの出力アセンブリの包含/除外を定義するメタデータです。

Visual Studio 2010以降では、「フレームワークと参照」ダイアログを使用して「プロジェクト依存関係」ダイアログを使用しないようにしたいと考えています。おそらく将来削除されるでしょう)。私はプロジェクトへのプロジェクト参照を追加使用してみましょうすることをお勧めします

http://blogs.msdn.com/b/vcblog/archive/2010/02/16/project-settings-changes-with-vs2010.aspx

+2

私はときどきプロジェクトの依存関係がビルドの依存関係を作成しないVS2013のバグに遭遇します。これは、Releaseではビルドから除外され、Debugでは除外されているプロジェクトの場合のようです。それは一貫性がなく、さらに悪化しますが、手動でビルドの依存関係を追加すると修正されます。 – Wheezil

+0

Visual Studio 2015の場合、参照はプロパティシートになくなりましたが、プロジェクトエクスプローラのツリーのプロジェクトの下に表示されます。 – MicroVirus

関連する問題