ベンダー提供の .Net アセンブリを使用してカスタム ハードウェアと接続する C# で記述されたアプリケーションがあります。.Net アセンブリは、実行時に別の DLL をロードします。ベンダー提供のアセンブリをプロジェクトに追加できますが、それを実行すると、ベンダー アセンブリは必要な DLL を読み込めないと文句を言います。DLL を bin\Debug および bin\Release フォルダーにコピーすることで、当面はこれを回避できます。
問題は、ある時点でこのアプリケーションをクライアントに配布する必要があり、クライアントにこの DLL が配置されていないことです。ソリューションにそれを要求させる方法がわかりません。「foo.dll への参照を追加できませんでした。ファイルにアクセスできること、および有効なアセンブリまたは COM コンポーネントであることを確認してください。」というエラーが表示されるため、参照として追加できません。
TlbExp を使用して DLL を .Net アセンブリに変換できません。「モジュールにはアセンブリ マニフェストが含まれていると予想されていました」というエラーが表示されます。
「クリック ワンス」でアプリケーションを公開すれば、そこで依存関係を宣言できると思いましたが、これも方法がわかりません。また、ファイル リソースとして追加しようとしましたが、これは役に立たなかったようです。
外部 DLL で機能を呼び出す方法に関連する SO に関する他の質問を見ることができますが、この場合、プロジェクトに DLL をバンドルする方法が必要なだけです。
ありがとう。