外部参照を持つ C# プロジェクトをコンパイルすると、参照された dll がプロジェクトの出力パス (exe の隣) にコピーされます。
アプリケーションを実行すると、exe の隣に dll が見つかることが期待されます。
私は自分のdllファイルを別のディレクトリDLLに広げる方法を探しています。そして、これらのディレクトリでexeファイルを探します。
例:
の下に「App」というアプリケーションがあり、C:\App\App.exe
現在も の下にある「App.dll」という dll ファイルを使用しているとしますC:\App
。
C:\App\Dlls
App.exeファイルが新しい場所でdllを探すことを認識していることを確認しながら、という名前の新しいディレクトリを作成し、そこにApp.dllファイルを移動したいと考えています。
私はインターネットを検索し、プロービングソリューションを見つけました。これが私のコードです(編集された「App.config」ファイル):
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.1" />
</startup>
<runtime>
<assemblyBinding xmlns="urn:schemas=microsoft-com:asm.v1">
<probing privatePath="Dlls" />
</assemblyBinding>
</runtime>
</configuration>
アプリケーションをコンパイルし、Dlls ディレクトリを作成し、すべての dll ファイルをそのディレクトリに移動しましたが、アプリケーションがクラッシュします。
私は何が欠けていますか?