2009-03-11 12 views
1

は、私はおそらく間違ってこの質問を求めている(とGoogleが支援していない理由は、かもしれない)が、ここに行く:Visual StudioでVS C#コンパイラが参照の参照をコンパイルしない場合、どのようなシナリオが可能ですか?

私はC#プロジェクトをコンパイルしています(、スタートアッププロジェクトのプロジェクトAを、それを呼びましょうプロジェクトBはプロジェクトCへの参照を持っているので、Aがビルドされると、BのdllはCのdllと同様にAのbinディレクトリに置かれます(BはCを必要とするため、 AはBを必要とする)。しかし、最近私は明らかにプロジェクトCのDLLがプロジェクトAのbinディレクトリに入っていないように、いくつかの変更を加えました。私はこれを実現させるために何をしたのか分かりません。

私はソリューション自体の設定を変更していません。プロジェクトファイルへの参照を追加しました。コード賢明には、私はプロジェクトCのクラスを参照するプロジェクトBの実際のコードのほとんどをコメントアウトしましたが、プロジェクト自体から参照を削除しませんでした(私はこれが問題ではないと思います)。おそらく、C#コンパイラがProject Cをビルドしていないように、おそらくC#コンパイラが最適化されていると言われましたが、実際にはアイデアがありません。私は誰かが前に似たようなものに遭遇したと思います。

どのような考えですか?ありがとう!

答えて

0

ソリューションエクスプローラでソリューションを右クリックし、プロジェクトの依存関係を確認できます。

私の推測では、何らかの形で、あなたはBの代わりにC.

に依存していないことをフラグが立てられてきた、ということである:溶液特性では、現在の設定は、プロジェクトC.

を構築するために設定されていることを確認します
1

ビルド設定を変更しましたか? Visual Studio 2008では、デフォルトのソリューション構成はデバッグおよびリリースで、デフォルトのソリューションプラットフォームは任意のCPUです。私の経験によれば、ソリューション構成/プラットフォームのペアには独自のビルド構成があります。つまり、デバッグ/任意のCPUリリース/すべてのCPUは2つの独立したビルド構成であり、それぞれ独自の設定があります。別の構成を選択した場合、元の構成の設定は自動的に適用されません。すべての構成の依存関係、およびソリューションに追加する新しいプロジェクトを無関係に切り替えるために、依存関係を設定する必要があります。

関連する問題