火曜日, 8月 23, 2022

Visual Studio Basic 番外 
単一ファイルか?小さなサイズか?

Visual Studio 2022から? NET6.0環境になり、生成されるファイル構造が変更になりました。ボーとしていて、いつ頃変わってしまったのか分からず、しばらく混乱していました。というコトで整理できた部分をまとめてみました。
説明用に作成したサンプルプログラムです。
Label1.Text = Val(TextBox1.Text) * Val(TextBox2.Text)
というシンプルなサンプルファイルは・・・

C¥ユーザー¥user¥source¥repos¥SimpleCalc
に5つのファイルが生成されます。このうち必要なのは上のグレーアウトしていない3つのファイルです。
[program.exe]実行可能ファイル
[program.dll]EXEが起動する際に自動的に連結される部品化されたプログラム
[program.runtimeconfig.json]設定されているすべてのオプションが挿入される
[program.pdb]シンボルファイル
[program.deps.json]実行可能ファイルとの依存関係のリスト

上の例で言うと
[SimpleCalc.exe]145KB
[SimpleCalc.dll]14KB
[SimpleCalc.runtimeconfig.json]1KB

ちなみに従来は・・・exeファイルだけでOKでした。
[program.exe]実行可能ファイル
[program.xml]データの構造を記述できる構造化文書
[program.config]設定に関するデータファイル

もし従来のようにexeファイルだけで配布したい場合は、表示メニューの[ソリューションエクスプローラー]をクリックし・・・

プログラム名を右クリックし・・・

[発行]をクリックします。

そのまま[フォルダー]を選んで[次へ]をクリック。

続けて[フォルダー]を選んで[次へ]をクリック。

続けて[完了]をクリック。

続けて[終了]をクリック。

次に[すべての設定を表示]をクリックし・・・

上の様に3箇所を変更します。

最後に[発行]をクリックすれば処理が完了します。

C¥ユーザー¥user¥source¥repos¥SimpleCalc
の中から上の流れでファイルを確認します。
ここでは沢山のファイルがありますが、必要なのはexeファイルだけで、それ以外は必要ありません。しかし必要ないライブラリーも読み込んでいるので、exeファイルのサイズは恐ろしく大きくなっています。

上の例で言うと
[SimpleCalc.exe]141MB・・・実に1000倍!

今後公開のプログラムはサイズを小さく出来る3つのファイルで公開する予定です。ただし制作後直ぐには公開しないモノもあるので、ダウンロード後のreadme.txtファイルで確認してください。

Visual Studio 2022 17.3.1