先日 .NET Core のプレビュー版の、Publish の結果を一つのファイルとして作成するオプションを試しました。 期待通りにファイル一つだけが生成されました。
■ 実行時に Temp に展開される
.exe ファイルは一つだけ作成されますが、実行時にはランタイムは展開されるそうです。
というわけで、実行して Temp の状況を確認してみると
C:\Users\ユーザー名\AppData\Local\Temp\.net\アプリ名\謎の文字列\
というフォルダに 273 個のファイルが生まれていました。
これを、 /p:PublishSingleFile=false
オプションで作成される 274 個のファイルと比較してみます。
■ 比較結果
差異のあるのは
- アプリ名.dll
- アプリ名.exe
の 2 ファイルだけ、272 個のライブラリ群は差異なしとでました。
※ .exe ファイルは Temp に生まれない
安心の結果ですが、何気に .exe と Temp で実質 2 倍のインストールの要求空き容量ですね。