rksoftware

Visual Studio とか C# とかが好きです

.NET Core 3.0 の Publishing Single EXEs 実行時の Temp を確認する

先日 .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 倍のインストールの要求空き容量ですね。