2016-07-21 13 views
0

私はC#プロジェクトでPDFエクスポートを処理するために外部DLLを使用しています。 Visual Studioで外部DLL参照を追加し、適切なステートメントを使用して追加しました。名前空間を入力するとIntellisenseはあらゆる種類のメソッドとプロパティを表示し、オブジェクトエクスプローラに反映されます。VisualStudioで参照されるDLLが独自のDLLを見つけることができませんC#

ただし、アプリケーションを実行すると、外部DLLが外部DLLと同じディレクトリにある別のDLLを検出できないため、プログラムが実行時例外をスローします。

問題をもっと混乱させるために、プログラムのデバッグフォルダに参照したいディレクトリからすべての単一のDLLをコピーするだけでは不平はありませんが、明らかに私は実行する必要はありませんこの。

ありがとうございます。

+0

はいソリューションエクスプローラの[参照]タブの下にあるdllのプロパティを調べる必要があると思います。新しい場合は、常にコピーまたはコピーするように設定します。とにかくそれを手動でコピーし続けるデバッグフォルダにコピーする必要があります。 – lozzajp

答えて

0

必要なのはVSのDLLのプロパティで "出力ディレクトリにコピーする"、 "常にコピーする"をチェックすることです。 それ以外の場合、DLLは自動的に出力にコピーされず、プログラムは実行できません。

私は、この他の質問はあなたを助けるかもしれないと思う:あなたの依存性は、あなたのドロップに含める別の参照を持っているようMSBuild doesn't copy references (DLL files) if using project dependencies in solution

+0

"ローカルコピー"を意味しますか?どちらの場合でも既にtrueに設定されています –

+0

いいえ「出力ディレクトリにコピーする」「常にコピーする」 – Ouarzy

+0

オプションが見つからないようです。 Visual Studio 2013で、ソリューションエクスプローラを開き、Referencesドロップダウンを展開し、DLLを右クリックしてPropertiesを選択します。 –

0

が見えます。 - その暗黙の依存関係への参照を追加する(そして "Copy Local" = trueに設定する) または - 依存するdllをプロジェクト項目として追加し、それを "出力ディレクトリにコピー" =本当。

関連する問題