私はサードパーティのプログラムに含まれているいくつかのDLLに応じてプログラムを作っています。私はこれらのDLLを自分で配布することはできません。私のプログラムが動作するには、サードパーティのプログラムがインストールされている必要があります。他の場所からのDLL参照
どのようにこれらのDLLへの参照を作成できますか?私は、プログラムによって設定されたレジストリキーを通して、それらの正確な場所を知っています。
Project-> Referencesでファイルを追加しようとしましたが、CopyLocalをfalseに設定しようとしましたが、私がFileNotFoundExceptionを取得したときにファイルまたはアセンブリを読み込めませんでした。
私はAppDomain.CurrentDomain.AssemblyResolveにイベントを追加しようとしましたが、そこにファイルをロードしようとしましたが、問題は私のプログラムが始まる前に例外が発生することです。最初の行にブレークポイントを置いても、ブレークポイントに達する前に例外がスローされます。
一般的に、サードパーティのベンダーは、標準的なプラクティスに従わないと、そのコンポーネントを本番環境で使用する方法を説明しています(ここではそうです)。まともな文書はありませんか? –
サイモン氏は、通常、サードパーティのアセンブリとの配布可能な契約があると述べています。 –
できるだけ早く 'AssemblyResolve'イベントに参加していますか?早期に購読しないと、解決する前にサードパーティのアセンブリに依存するコードが実行される可能性があります。 –