実行ファイルやDLLが単一ファイルが一つにできるよ
と説明があったので、試してみました。
dllとかたくさんファイルがあってその中「***.exe」を実行して、と説明する手間が省けるので個人的には使えるシーンはあるのかな、と思ってます。
Visual Studio 2019の手順
Visual Studio 2019 でConsoleアプリ(.net core 5利用)を作成しました。(Hello,Worldしかない状態)
ソリューションエクスプローラーからプロジェクトを右クリックし、発行を選択します。
今回はローカルに保存するので「フォルダー」を選択します。
ローカルターゲットを聞かれるのでここでも「フォルダー」を選択します。
出力先フォルダを決めて完了します。
「編集」ボタンをクリックします。
配置モードを「自己完結」を選択します。
「自己完結」を選択するとファイルの公開オプションという項目が出てきますので、この中の「単一ファイルの作成」にチェックします。
「発行」を押して実行ファイルを作成します。
出力結果を確認してみると...JITなどのDLLも一緒に出てくるんですね。未使用のアセンブリをトリミングする、とした結果、40MBあった実行ファイルは10MBになりました。
と思って下記を見てみたら、オプションでこのDLLも内包できるようでした。このオプションはVisual Studioのどこの設定になるのだろう...
ちなみにターゲットランタイムを「linux-x64」にすることでlinux向けにsingle-appsができました。こちらは文字通りシングルですね。