二进制文件被提取到的地方,在一个独立的可执行文件中

Where binary is extracted to, in a self contained executable

随着 .Net Core 3.0 的发布,有一个新选项允许您将可执行文件发布为单个文件可执行文件。我的问题是:可执行文件在哪里提取它的内容供以后执行。

我的意思是这是一个随机位置?或者它是一个可识别的随机位置,例如 %AppData%/Local/{AssemblyName}/{UUID}/ 或线上的某个位置?

想了很多。我最终记录了位置,使用这个:

Console.WriteLine($"Assembly Location: {Assembly.GetCallingAssembly().Location}");

看来,他们选择了一个伪随机位置,就像我想的那样。 在这种情况下,我的是:%AppData%\Local\Temp\.net\{AssemblyName}\{UUID}\{AssemblyName}.dll