アセンブリを結合し、単一の実行可能ファイル内に DLL を埋め込むための戦略
このガイドは、外部 DLL (ServiceStack など) に依存する実行可能ファイル (.EXE) が、それらの依存関係がないシステムでは実行できないという一般的な問題に対処します。 必要なすべての DLL を EXE に直接パッケージ化する方法を検討します。
DLL を統合するためのメソッド:
1. ILMerge の活用:
ILMerge は、複数のアセンブリを 1 つの実行可能ファイルにマージするための無料で利用できるツールです。 使用方法は次のとおりです:
<code>ilmerge /target:exe /output:MergedAssembly.exe Assembly1.dll Assembly2.dll ...</code>
2. SmartAssembly の利用 (商用ソリューション):
SmartAssembly は、自動アセンブリの埋め込みとマージを提供する商用ツールです。 この方法ではコードを変更する必要はありません。含めるアセンブリを指定するだけで、SmartAssembly が統合を処理します。
3.カスタム コード ソリューションの実装:
カスタム アプローチにより、より優れた制御が可能になります。 次の手順に従ってください:
AssemblyResolve
イベント ハンドラーを作成します。このハンドラーは、実行時に埋め込み DLL を動的にロードし、必要に応じて .NET ランタイムに提供します。この方法では最小限のコード変更が必要ですが、埋め込みアセンブリをきめ細かく制御できます。
重要な考慮事項:
以上が依存関係の問題を回避するために、必要な DLL を EXE に埋め込むにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。