実行ファイル(EXE)とDLLを1つにまとめる方法
実行ファイルにDLLをまとめる方法を探すと、いくつかある。ILMergeを使う方法があるが、使ったことはないので触れない。実際に自分が使っている方法について書く。
Fody (Costura.Fody) .NET Framework
FodyはNuGetパッケージのひとつ。.NET Frameworkではこれを使うのが便利。.NET Standard等もサポートされているようだが試したことはない。
これを利用することで、DLLファイルをEXEファイルに統合することが出来る。具体的には、Costura.Fodyをインストールするだけで良い。Fodyも依存関係があるため、自動的にインストールされる。
ビルド対象となるプロジェクト全てにCostura.Fodyがインストールされていれば、特に設定は不要。普通にビルドするだけで良い。

単一ファイルの作成 .NET
.NET(.NET Frameworkではない)では、「単一ファイルの作成」というチェックボックスが追加されている。このチェックを入れるだけで、DllがEXEファイルに統合される。
具体的には、ビルドから「選択範囲の公開」を選択して、「全ての設定を表示」をクリックする。プロファイル設定で「ファイルの公開オプション」を開き、「単一ファイルの作成」のチェックを入れる。
「発行」をクリックすれば、ビルドが実行される。




ビルド結果
いずれの場合でも、単一のEXEファイルだけがビルドされる。
