.net core 访问.NET核心单文件可执行文件中包含的文本文件

.net core 访问.NET核心单文件可执行文件中包含的文本文件,.net-core,.net Core,我创建了一个.NET Core 3.1控制台应用程序,该应用程序在与可执行文件相同的目录中包含一个默认的appsettings.json配置文件。当应用程序启动时,它会在用户的AppData/Local/文件夹中查找配置,如果应用程序在那里找不到配置文件,它会将默认配置文件复制到本地AppData文件夹 这很好,但我希望将应用程序作为单个可执行文件分发(使用dotnetpublish/p:PublishSingleFile=true…)。问题是我无法再访问默认配置文件。当我在十六进制编辑器中打开

我创建了一个.NET Core 3.1控制台应用程序,该应用程序在与可执行文件相同的目录中包含一个默认的appsettings.json配置文件。当应用程序启动时,它会在用户的
AppData/Local/
文件夹中查找配置,如果应用程序在那里找不到配置文件,它会将默认配置文件复制到本地AppData文件夹

这很好,但我希望将应用程序作为单个可执行文件分发(使用
dotnetpublish/p:PublishSingleFile=true…
)。问题是我无法再访问默认配置文件。当我在十六进制编辑器中打开单个已发布文件时,我可以看到其中的默认配置内容,因此我知道默认配置文件以某种方式包含在已发布的单个文件中


在将应用程序作为单个文件发布时,是否可以访问包含的文件?

当自包含的可执行文件启动时,它要做的第一件事是将其内容提取到临时目录中。这是有案可查的

至于获取临时文件夹本身的路径(所有文件都将从中提取),只需使用引用的
path.GetDirectoryName(Process.GetCurrentProcess().MainModule.FileName)