通过MSIX部署的WPF-如何获取执行位置

问题描述

我有一个WPF .Net Core 3.1应用程序,其中包含一些需要在运行时加载的文件。这些位于应用程序下的子文件夹中。

在计算机上以“调试”和“发布”模式运行时,我可以以编程方式添加代码来查找这些文件的位置。但是,当我使用MSIX(侧面加载的应用程序)发布此文件时,则在应用程序执行时找不到文件

我已经尝试了以下方法-它们都可以在本地工作,而不是从MSIX安装之后。

private readonly string pathToFiles = 
    Path.Combine(System.Reflection.Assembly.GetExecutingAssembly().Location,@"..\..\..\..\Folder1\Folder2\");
private readonly string pathToFiles = 
    Path.Combine(Environment.CurrentDirectory,@"..\..\..\Folder1\Folder2\");
private readonly string pathToFiles = 
    Path.Combine(AppDomain.CurrentDomain.BaseDirectory,@"..\..\..\Folder1\Folder2\");

EventLog显示

异常信息:System.IO.DirectoryNotFoundException:找不到 路径'C:\ Program的一部分 文件\ WindowsApps \ 4d8ca161-cf4a-49bf-888e-e5ad60ca0848_1.0.46.0_x64__qe9rvpaa344gp \ MyApplication \ Folder1 \ Folder2 \ TheFile.xyz'。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)