2

重複の可能性:
コンパイル済み実行可能ファイルへの DLL の埋め込み

ac# winforms アプリケーションと、いくつかの依存する .dll および依存する外部 .exe があります。

それらすべてをスタンドアロンの実行可能ファイル (インストーラーではなく) 1 つの実行可能ファイルに何らかの方法でコンパイルすることは可能ですか?

できればVS 2010 Ultimateから?

4

2 に答える 2

1

ILMergeは、複数の .NET アセンブリを 1 つのアセンブリにマージするために使用できるユーティリティです。

于 2013-01-09T03:33:56.000 に答える
1

要するに、機能する唯一の方法は、すべての外部ファイルを埋め込みリソースとして追加し、ILMerge.

オプション #1:次の手順は、リソース ファイルを Visual Studio 内に埋め込む方法を示しています。

  1. ソリューション エクスプローラーに移動します。
  2. リソースファイルを右クリックし、
  3. Build Actions に移動: [Embedded Resource] を選択します。

exe内にそのファイル参照があります。後で Reflection を使用して、アプリケーションを実行するときにリソースを取得できます。ここから借りたソースコード:

マネージ dll を使用するオプション #2 :

マネージ DLL の場合、いくつかのオプションがあります。

  • ILMergeを使用します。ILMerge には優れた GUI インターフェイスがあります [ここ]7]。
  • それらをリソースとして埋め込みます。詳細については、この記事を参照してください。

これについて説明している次のCodeProject 記事を確認してください。

ILMerge は、複数の .NET アセンブリを 1 つのアセンブリにマージするために使用できるユーティリティです。ILMerge は一連の入力アセンブリを受け取り、それらを 1 つのターゲット アセンブリにマージします。入力アセンブリのリストの最初のアセンブリは、プライマリ アセンブリです。プライマリ アセンブリが実行可能ファイルの場合、ターゲット アセンブリは、プライマリ アセンブリと同じエントリ ポイントを持つ実行可能ファイルとして作成されます。また、プライマリ アセンブリに厳密な名前があり、.snk ファイルが提供されている場合、ターゲット アセンブリも厳密な名前を持つように、指定されたキーで再署名されます。

于 2013-01-09T03:34:24.513 に答える