1

私はおそらくこの質問を間違っています (それが Google が役に立たない理由かもしれません) が、次のようになります。

Visual Studio で、プロジェクト B への参照を持つ C# プロジェクト (プロジェクト A、スタートアップ プロジェクトと呼びましょう) をコンパイルしています。プロジェクト B にはプロジェクト C への参照があるため、A がビルドされると、B の dll が配置されます。 C の dll と同様に、A の bin ディレクトリにあります (B には C が必要で、A には B が必要なため)。ただし、ソリューションを再構築するときに、プロジェクト C の dll がプロジェクト A の bin ディレクトリに入らないように、最近変更を加えたようです。これを実現するために何をしたかわかりません。

ソリューション自体の設定は変更しておらず、プロジェクト ファイルへの参照を追加しただけです。コード的には、プロジェクト C のクラスを参照するプロジェクト B の実際のコードのほとんどをコメント アウトしましたが、プロジェクト自体から参照を削除しませんでした (これは問題ではないと思います)。おそらく C# コンパイラがプロジェクト C をビルドしないように何らかの最適化を行っているとのことでしたが、本当に考えが尽きました。誰かが以前に似たようなことに遭遇したと思います

何かご意見は?ありがとう!

4

2 に答える 2

1

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

于 2009-03-12T00:31:37.193 に答える
0

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

私の推測では、何らかの形で、B が C に依存していないというフラグを立てたのでしょう。

または: ソリューションのプロパティで、現在の構成がプロジェクト C をビルドするように設定されていることを確認します。

于 2009-03-11T23:48:04.160 に答える