質問: C#で開発をしているのですが、exeとdllを1つにまとめる方法として、ILMergeがあるようですが、その方法は古く、Visual Studio 2019だけでもできると思うのですが、うまくいきません。 Microsoft Q&Aでそれっぽいのを見つけたのですが、うまくいきません。 Build a stand-alone executable by Visual Studio 2019 Community 行った方法 ----- 1. プロジェクトを選択 2. 右クリックし、`発行(B)`を選択 3. `すべての設定を表示`を選択 4. 配置モードを`自己完結`に変更 5. `ファイルの公開オプション`を選択 6. `単一ファイルを作成`にチェックマークを入れる 7. `発行`ボタンを選択 これで実行されますが、exeとdllは別々のファイルになってしまい、exeファイルだけでは実行できません。 環境 -- * Visual Studio 2019 * C# * .Net 5.0
回答: コメントで教えてくださった方法で、解決できましたので、載せておきます。 出来なかった原因としては、プロジェクトの設定で`IncludeNativeLibrariesForSelfExtract`を`true`にしていなかったことでした。 `.csproj`ファイル内の``内に`true`の記述を追加することで、exeファイルのみで実行できるexeファイルが出力できました。(`.pdb`というデバッグ用のファイルも生成されましたが、削除してもexeには影響はなかったです。(`.pdb`を生成しない設定を見つけたので、下のコメントに載せておきます) さらに日本語の記事も見つけたので、載せておきます。 .NET 5でシングルバイナリを作る