WPF.NET Core 3.1发布的独立单exe缺少DLL

WPF.NET Core 3.1发布的独立单exe缺少DLL,wpf,.net-core,publish,Wpf,.net Core,Publish,如果有一个WPF.NETCore3.1应用程序,它在计算机上运行了一段时间,然后就会停止打开。查看事件查看器时发现以下错误: 描述:一个.NET核心应用程序失败。 应用程序:MyApp.exe 路径:C:\Folder\MayApp.exe 消息:要执行的应用程序不存在:“C:\Users\user\AppData\Local\Temp.net\MyApp\002t0akn.2dd\MyApp.dll” 如果删除文件夹并再次启动应用程序,它将正常工作。知道为什么吗 该应用程序已发布,.netco

如果有一个WPF.NETCore3.1应用程序,它在计算机上运行了一段时间,然后就会停止打开。查看事件查看器时发现以下错误:

描述:一个.NET核心应用程序失败。 应用程序:MyApp.exe 路径:C:\Folder\MayApp.exe 消息:要执行的应用程序不存在:“C:\Users\user\AppData\Local\Temp.net\MyApp\002t0akn.2dd\MyApp.dll”

如果删除文件夹并再次启动应用程序,它将正常工作。知道为什么吗


该应用程序已发布,.netcoreapp3.1,自包含,win-86,生成单个文件并准备运行

NET Core单文件机制与旧版本的自解压ZIP可执行文件非常相似;它使分发变得更容易,但它仍然需要将所有依赖文件转储到某个位置才能运行,而且看起来特定的临时文件夹可能会给您带来问题

该过程如所述:

提取位置

对于单个文件应用程序,提取目录为//

DOTNET\u BUNDLE\u EXTRACT\u BASE\u DIR环境变量(如果已设置)。 如果不是,则默认为: Windows:%TEMP%\.net 是单个exe二进制文件的名称

是唯一的包标识符

您可以尝试禁用单个文件打包,或者调整环境变量以使用不太临时的文件夹进行提取