2016-06-27 9 views
0

3つのプロジェクトのソリューションがあります。プロジェクトの1つは、クラスライブラリとして構築され、サードパーティのDLLを参照しています。私が解決策を構築しているときは、すべてが問題ありません。しかし、プログラムを実行してクラスライブラリ内のメソッドを呼び出すと、参照されているサードパーティDLLに対して「ファイルが見つかりません」という例外が発生します。実行時にDDLファイルの例外が見つかりません

出力フォルダを見ると、DLLが表示されます。 私もロードしようとしました:

Assembly.LoadFile("absolutePathToFileInOutputFolder") 

まだ同じ例外が発生します。しかし、私がDLLの別のコピーへのパスを使用する場合、それは動作します。 このような動作の理由は何でしょうか?私のプロジェクトの1つが他のプロジェクトのDLLをロックしていることができますか?

+0

プロジェクトの参照ノードに手動でdllを追加しましたか?また、その.dll参照に対して 'CopyToLocal = true'が設定されていることを確認してください。 3つのプロジェクトで1つのソリューションを使用している場合は、依存関係フォルダを作成してそこにすべてのdllを置いてから、参照を削除して再追加して依存フォルダを指定することをお勧めします。 – MethodMan

+0

@MethodManはい私は "参照を追加 "し、それを閲覧しました。 Dependencyフォルダについては、後で参考になるかもしれません。 – jimmy

+0

なぜ後で待ってください..少なくとも、同じソリューション内の3つのプロジェクトすべてからアクセスできる1つのフォルダに依存するDLLがある場合は、この問題や問題は発生しません。サードパーティのDLL – MethodMan

答えて

0

これは、Visual Studioでしばしば繰り返される問題です。通常、それはCopyToLocal = TrueとプロパティウィンドウでのDLLへの参照の設定を修正します。

+0

私が言ったように、ファイルはすでに出力フォルダにあるので問題はありません。また、CopyToLocalはすでにtrueです。 – jimmy

関連する問題