カスタムアプリケーションの開発に使用できるDLLの形式でSDKを提供するサードパーティのアプリケーションがあります彼らのサービスに接続する。 DLLはサードパーティアプリケーションのディレクトリにあり、他のDLLが依存しています。 SDKガイドには、Visual Studioを使用してテストアプリケーションを作成する手順が記載されており、Copy Local
をFalse
に設定してSDK DLLへの参照を追加すると記載されています。私は、テストWindowsフォーム.NETアプリケーションを作成し、指示に従ってDLLへの参照を追加し、すべて正常に動作しました。ただし、ASP.NETアプリケーションでDLLを参照すると、依存するサードパーティのDLLの1つに対してFileNotFoundException
例外が発生します。ASP.NETアプリケーションでサードパーティのDLLを使用することはできませんが、Windows Forms .NETアプリケーションからは動作します
実験として、Copy Local
をFalse
に設定して、プロジェクトに問題のDLLへの参照を追加しようとしましたが、同じエラーが発生しました。 Copy Local
がTrue
に設定されていると、それ以上になりますが、別のDLLで失敗します。そのDLLへの参照の追加は、Copy Local
の設定にかかわらず失敗します。
「標準」.NETアプリケーションがアセンブリとASP.NETアプリケーションを読み込む方法の違いについては問題があると思いますが、これを解決するにはどうすればよいか分かりません。
GACまたはアプリケーションのbinディレクトリに入れずに、ASP.NETアプリケーションでサードパーティのDLL(およびその扶養者)を参照する適切な方法はありますか?
これが間違っている可能性がある方法はたくさんあります。そのため、あなたの質問に基づいて答えを出すことはできません。サードパーティのDLLは、CまたはC++に依存している場合や、ASP.NETで動作するように設計されていない場合があります。 DLLを参照する現代的な方法は、NuGet(パッケージが利用可能な場合)を使用することです。通常、NuGetは独自の依存関係を参照するための汚い詳細を処理します。 – NightOwl888