重複の可能性:
コンパイル済み実行可能ファイルへの DLL の埋め込み
ac# winforms アプリケーションと、いくつかの依存する .dll および依存する外部 .exe があります。
それらすべてをスタンドアロンの実行可能ファイル (インストーラーではなく) 1 つの実行可能ファイルに何らかの方法でコンパイルすることは可能ですか?
できればVS 2010 Ultimateから?
重複の可能性:
コンパイル済み実行可能ファイルへの DLL の埋め込み
ac# winforms アプリケーションと、いくつかの依存する .dll および依存する外部 .exe があります。
それらすべてをスタンドアロンの実行可能ファイル (インストーラーではなく) 1 つの実行可能ファイルに何らかの方法でコンパイルすることは可能ですか?
できればVS 2010 Ultimateから?
ILMergeは、複数の .NET アセンブリを 1 つのアセンブリにマージするために使用できるユーティリティです。
要するに、機能する唯一の方法は、すべての外部ファイルを埋め込みリソースとして追加し、ILMerge
.
オプション #1:次の手順は、リソース ファイルを Visual Studio 内に埋め込む方法を示しています。
exe内にそのファイル参照があります。後で Reflection を使用して、アプリケーションを実行するときにリソースを取得できます。ここから借りたソースコード:
マネージ dll を使用するオプション #2 :
マネージ DLL の場合、いくつかのオプションがあります。
これについて説明している次のCodeProject 記事を確認してください。
ILMerge は、複数の .NET アセンブリを 1 つのアセンブリにマージするために使用できるユーティリティです。ILMerge は一連の入力アセンブリを受け取り、それらを 1 つのターゲット アセンブリにマージします。入力アセンブリのリストの最初のアセンブリは、プライマリ アセンブリです。プライマリ アセンブリが実行可能ファイルの場合、ターゲット アセンブリは、プライマリ アセンブリと同じエントリ ポイントを持つ実行可能ファイルとして作成されます。また、プライマリ アセンブリに厳密な名前があり、.snk ファイルが提供されている場合、ターゲット アセンブリも厳密な名前を持つように、指定されたキーで再署名されます。