log4net.dll などの他のライブラリに依存する .NET DLL クラス ライブラリを構築しています - DLL をパッケージ化するとき、これらの DLL をどこに置くべきですか? それらを 1 つのスーパー DLL 内に自動的に含める方法はありますか? すべての DLL を 1 つの bin フォルダーにまとめて出荷する必要がありますか?
5 に答える
Just ship them all in a directory with your dll (assuming you're talking about a binary distribution - in a source distribution I'd have a "lib" directory containing your dependencies).
Don't forget to check whether or not you need to also supply licences, directions to get the source etc.
I wouldn't be tempted to try to merge your class library with the dependencies, personally.
最初に、他の DLL に添付されている EULA およびその他のライセンスを確認する必要があります。DLL ライブラリの再配布方法を制限する場合があります。問題がなければ、それらをすべて 1 つの大きな DLL としてまとめてコンパイルするか、関連するすべての DLL を目的の場所にインストールするインストーラー (または単純な zip ファイル) を作成できます。
ILMergeを見てください。ILMergeの使い方を紹介するブログをリンクしました
ソリューション ツリーに、すべてのソース コード用の「src」というフォルダーと、log4net、自家製の dll ライブラリ、およびその他のライブラリなどのライブラリ用の「lib」というフォルダーがあります。
ソリューションをどのように展開しているかはわかりませんが、クラス ライブラリに署名するには、サードパーティの .dll に署名する必要があることを忘れないでください。これだけでも、すべての参照をマージする必要がある場合があります。