Visual Studio 「FrameWork 4.8」では単一EXEを作成できない

*本サイトはアフィリエイト広告を利用しています。

Visual Studio 2022の発行処理で「単一EXEファイル」を作成しました。

作業自体は簡単ですが、フレームワークを間違えるとVisual Studioの基本機能では「単一EXEファイル」はできないようです。

  • 「.NET FrameWork 4.8」では単一EXEは作成できません。
  • 単一EXEを作成できるのは「.NET 8.0」などの「.NET CORE」です。

調べれば他のツールなどで「.NET FrameWork 4.8」で単一EXEを作成する方法があるのかも知れませんが、僕にはできませんでした。

もしも同じことで調べているなら参考にしてください。

スポンサーリンク
スポンサーリンク

「.NET FrameWork 4.8」での発行処理

他のサイトなどでもVisual Studioでの「単一EXE」作成方法は紹介されていますが、フレームワークが違うと解説通りの画面が表示されません。

以下は「.NET FrameWork 4.8」で発行処理を行った時に表示される画面です。

このまま処理を進めても「単一EXE」は作成できません。

「.NET FrameWork 4.8」の発行画面
スポンサーリンク

「.NET 8.0」での発行処理

フレームワークが「.NET 8.0」の場合は異なる画面が表示され、以下の手順で進めることで「単一EXE」が作成できます。

手順①:「ソリューションエクスプローラー」>「プロジェクト名」の上で右クリック>「発行」

手順②:ターゲットを選択します、ここでは「フォルダー」を選びました。

手順③:特定のターゲットを選びます、ここでは「フォルダー」を選びました。

手順④:フォルダーの場所を指定して「完了」です。

手順⑤:「完了」の画面を「閉じる」で終了します。

手順⑥:発行の画面が表示されるので、「すべての設定を表示」をクリックします。

手順⑦:プロファイル設定で配置モードを「自己完結」、「単一ファイルの作成」をチェックして「保存」してください。

手順⑧:「発行」でEXEファイルが作成されます。

ターゲットフォルダー内にDLLファイルも作成されますが、EXEファイルだけでプログラムは動きます。

「.NET FrameWork 4.X」と「.NET CORE」の違いについて

詳しいことはわからないのですが、「.NET FrameWork 4.×」と「.NET 8.0」は単純なバージョン違いでなく、別物のようです。

「.NET FrameWork 4.x」はWindows専用のフレームワーク、「.NET7.0」、「.NET 8.0」などは「.NET CORE」に分類され、Windows以外にMacやLinuxでも使用できるクロスプラットホームとなっています。

フレームワークの指定はプロジェクトを作成する時に決定します。

「.NET 8.0」など「.NET CORE」を使うときは「Windowsフォームアプリ」、「.NET FrameWork4.×」を使うときは「Windows フォームアプリケーション(NET Framework)」を選びます。

プログラム作成後に細かいバージョンの変更(「.NET 7.0」から「.NET 8.0」などの変更)はできますが、大きな変更(「.NET FrameWork 4.8」から「.NET 8.0」など)はできません。

コメント

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