C#、dllを含めたexe単一ファイルの生成

C#

Visual Studio 2026.NET 10 を使って開発したWindowsフォーム(WinForms)アプリを、配布しやすい「単一のEXEファイル」として発行(パブリッシュ)する手順をご紹介します。

この設定を行うと、相手のパソコンに.NET 10がインストールされていなくても、EXEファイルを1つ渡すだけでアプリを動かせるようになります。


💻 実行環境

  • 開発環境: Visual Studio 2026
  • フレームワーク: .NET 10
  • プロジェクト種類: Windows フォーム アプリ (WinForms)
  • ターゲット OS: Windows (x64)

📝 手順

1. 発行メニューを開く

まずは、発行するための設定画面を開きます。

  1. Visual Studioの右側にある「ソリューション エクスプローラー」を開きます。
  2. 作成したプロジェクト名(ソリューション名ではないので注意)を右クリックします。
  3. 表示されたメニューから [発行] をクリックします。

[スクリーンショット挿入箇所:ソリューションエクスプローラーでプロジェクトを右クリックし、「発行」を選択している画面]

2. 発行先の選択

どこにファイルを出力するかを決めます。

  1. 「発行」画面が開いたら、[フォルダー] を選択して「次へ」をクリックします。
  2. 特定のフォルダーの場所(デフォルト設定でOK)が表示されるので、そのまま [完了] をクリックします。
  3. 続けて [閉じる] をクリックしてダイアログを閉じます。

3. 発行プロファイルの設定(★重要)

作成された発行プロファイル(設定)を編集して、単一EXE化の準備をします。ここでの設定を間違えると、ファイルが1つにまとまりません。

  1. 発行タブの画面中央あたりにある [すべての設定を表示] (または鉛筆アイコン)をクリックして、「プロファイル設定」画面を開きます。
  2. 以下の通りに設定を変更します。
  • 構成: Release
  • ターゲット フレームワーク: net10.0-windows
  • 配置モード:自己完結型
    • ※ここが「フレームワーク依存」になっていると、DLLファイルなどがバラバラに出力されてしまいます。
  • ターゲット ランタイム:win-x64
    • ※「Portable」では単一EXE化できません。必ずOSのビット数に合わせます。

4. 単一ファイル化のオプション設定(★最重要)

設定画面のすぐ下にある項目を開き、ファイルを1つにまとめる指示を出します。

  1. プロファイル設定画面内の [ファイルの公開オプション] (またはプルダウン)を開きます。
  2. 「単一ファイルの作成」 にチェックを入れます。
  3. 設定が終わったら、右下の [保存] ボタンをクリックします。

5. 発行の実行と確認

いよいよEXEファイルを出力します。

  1. 発行画面の右上にある [発行] ボタンをクリックします。
  2. 画面下部の「出力」ウィンドウに「発行は成功しました」と表示されるのを待ちます。
  3. 成功したら、以下のフォルダを開いて確認します。
    • 保存先: プロジェクトのフォルダ\bin\Release\net10.0-windows\publish\win-x64\
  4. このフォルダの中に、あなたのアプリ名.exe が1個だけポツンと生成されていれば成功です!

⚠️ よくある失敗(注意点)

上手く1つにまとまらない時は、以下の設定を見直してみてください。

  • 「配置モード」が「フレームワーク依存」のままになっている
    • この状態だと、アプリ本体のEXEとは別に coreclr.dll などのネイティブDLLファイルがフォルダに残ってしまいます。必ず 「自己完結型」 を選んでください。
  • 「単一ファイルの作成」のチェックを忘れている
    • これを忘れると、「自己完結型」で必要なライブラリファイルがすべてそのまま出力されてしまいます(場合によっては200個以上のファイルが出力されることもあります)。必ずチェックを入れてから発行しましょう。

Comments

タイトルとURLをコピーしました