C言語 で書かれた DLL (A.dll) を
C# で書かれた DLL (B.dll) で利用しているのですが、
これらを .NET Framework で利用できる1つの DLL (C.dll) にすることはできるのでしょうか。
A.dll ... extern "C" で書かれている C言語 の ライブラリ
B.dll ... DllImport を利用している C# の ライブラリ
C.dll ... .NET Framework 向けの ライブラリ
ググると ILMerge というものがヒットしたのですが、
これは .NET Framework によって生成された アセンブリ にのみ対応しているようで
うまくいきませんでした。
DLLを一つにまとめたい
Re: DLLを一つにまとめたい
純粋に出来るかどうかで言えばどちらもCOFFですしできるでしょうけれども,その手段は自分でlinkerを書くことになるかと思います。aridai1221 さんが書きました:C言語 で書かれた DLL (A.dll) を
C# で書かれた DLL (B.dll) で利用しているのですが、
これらを .NET Framework で利用できる1つの DLL (C.dll) にすることはできるのでしょうか。
一つにすることにメリットはないと思いますが,どのような目的でそれをしたいのでしょうか。
-
- 記事: 16
- 登録日時: 8年前
Re: DLLを一つにまとめたい
ただDLLの数が多くなったときに複雑そうに見えるからです。YuO さんが書きました:一つにすることにメリットはないと思いますが,どのような目的でそれをしたいのでしょうか。
Re: DLLを一つにまとめたい
アプリケーションの利用者から見た場合であれば,DLLが多くても関係ないです。aridai1221 さんが書きました:ただDLLの数が多くなったときに複雑そうに見えるからです。YuO さんが書きました:一つにすることにメリットはないと思いますが,どのような目的でそれをしたいのでしょうか。
ライブラリの利用者から見た場合にDLLが単純に多いと,それへの参照設定等が面倒ではありますが,対策としてはnuget使って.nupkg化してしまうことでしょう。
nugetにパッケージをアップロード出来るのが一番使いやすいのですが,それ以外にも,
- ローカルのディレクトリをnugetの検索対象に追加しておく
- mygetなどのサービスを使う
- 自分でWebサーバーを立てて,nuget.serviceパッケージを使ったり,それに相当する物を使ってサーバーを代替する
- アプリケーションにNuGet.configを含めて,そこに.nupkgのあるディレクトリを含める