2011-07-07 28 views
-1

ソースプロジェクトからDLLを生成しました。 sourceProject.dllとしましょう。C#のDLL依存関係

このプロジェクトは、first.dllに依存します。

sourceProject.dll --> first.dll 

私はsourceProject.dllを実行

は、私が「不足している1つの以上のプロジェクト参照」first.dllするエラーが発生します。

私が正しく理解していれば、sourceProject.dllはfirst.dllでクラスを使用しようとしていますが、明らかにfirst.dllには独自のDLLの1つに間違った参照があります。その結果、first.dllは(sourceProject.dllの実行時に)再度ビルドされますが、間違ってビルドされています。最後に、first.dllが悪いのでsourceProject.dllが爆発します。

本当ですか?

おかげで、

+0

はい。 First.dllにエラーがある場合、出力されません。 – Mrchief

+0

sourceProject.dllの実行時にfirst.dllが再構築されますか? –

+0

はい。ビルドされていないか変更されている場合は、再構築されます – Mrchief

答えて

4

私は実行 ケビンsourceProject.dll

することはできません.NETで実行のDLL。異なるタイプ(コンソール、WinForms、ASP.NETなど)である可能性があるアプリケーションでアセンブリを使用します。したがって、sourceProject.dllfirst.dllに依存する場合、sourceProject.dllを使用するアプリケーションは、両方のアセンブリを作業フォルダ(デスクトップアプリケーションの場合は現在のフォルダ、ASP.NETの場合はbinフォルダ)に配置する必要があります。

+0

sourceProject.dllがfirst.dll、second.dll、およびthird.dllに依存しているとしましょう。 次に、sourceProject.dllには、first.dll、second.dll、およびthird.dllが依存するDLLの** all **を含める必要がありますか? –

+0

@ケビン、それは異なります。 'sourceProject.dll'がReflectionのような実行時型バインディングを使用する場合、それらの依存関係を必ずしも参照する必要はありません。もちろん、最終的な実行可能アプリケーションでは、それらをすべて参照する必要があります。静的バインディングを使用している場合、first.dll、second.dll、またはsourceProject.dllを参照する必要があることは明らかです。 –

0

私のあなたの拳プロジェクトはソリューションビルドに含まれていません。ソリューション・ファイルを右クリックして構成マネージャーを確認してください。

私は、もう1つをビルドする前に、最初のプロジェクト(マニュアル)をビルドしなければならなかったので、これを実行したいと思います。

関連する問題