.NETアプリケーションに公開したいC++DLL(コードなし)があります。
私が持っている/知っている/見つけたすべてのオプション(COM、P / Invoke、SWIGなど)を熟考した後、.NETクラスライブラリ(C ++ / CLI)を作成しています。これで、結果のDLL(クラスライブラリ)にも元のDLLとその依存関係が必要になります。私の問題は、そのようなことを自動的に追跡することにあります。そのため、ラッパーを使用するアプリケーションは、他の(ネイティブ)DLLを追跡する必要がありません(特に、元のDLLが新しい依存関係を開発する場合)。
より正確に(そして議論するために具体的な何かを持っている)、私はラップしようとしているので、クラスライブラリ(当然、に依存します)cmr
を書きます。、、およびその他に依存します。(C#)プロジェクトに参照を追加しようとすると、Visual Studio(2005 SP1)がコピーし、すべての依存関係を残して、文句を言います(不足しているモジュールについてスローします)。、などをディレクトリに手動でコピーすると、問題が修正されました。MR
cmr
cmr
PNL
OpenCV
MR
MR.DLL
FileNotFoundException
cmr
PNL
bin
面倒なことはありませんが、私の質問は次のとおりです。.NETアプリが1つのDLLへの参照のみを追加し、すべてが正常に機能する方法はありますか?
私はグーグルとSOを精査してきましたが、無駄になりました...
編集:mergebinは私が探しているものに最も近いようですが、.NETDLLを1つのネイティブDLLとのみマージできます。残念ながら、ネイティブDLLをマージすることはできません。