私が作成したクラス ライブラリ プロジェクトがあります。クラスAとしましょう。ClassA では、dll (ToolsDLL.dll) にあるいくつかのツールにアクセスする必要があります。
ClassA では、ToolsDLL.dll をプロジェクトに追加し、ToolsDLL.dll ファイルを常に出力ディレクトリにコピーするように選択しました。そのため、ライブラリが正常にビルドおよびコンパイルされ、出力ディレクトリに ClassA.dll と ToolsDLL.dll が表示されます。
次に、ClassA のメソッドを使用する App_A などのアプリケーションを作成します。そのため、私の App_A プロジェクトでは、ClassA.dll への参照を追加して、その名前空間にアクセスできるようにしました。すべて順調です。ビルド/コンパイルします。
問題は、App_A を実行するとすぐに、ToolsDLL.dll を使用する必要があるポイントに到達すると、「ToolsDLL.dll を読み込めません。見つからない可能性がある理由がわかりません」という例外がスローされます。その dll は ClassA.dll と同じディレクトリにあるためです。
ToolsDLL.dll を App_A の出力ディレクトリに配置すると、問題なく動作することがわかりました。それを回避する方法はありますか?ToolsDll.dll を ClassA.dll にバンドルする方法はありますか。その理由は、私の顧客が AppA に似た独自のアプリケーションを作成することになり、プロジェクト内で複数ではなく 1 つのファイルを参照するだけで済むようになると便利だからです。