wpf - UWP App WPF .Net Core 对依赖没有访问权限
问题描述
我们正在使用 WPF .Net Core 制作一个新应用程序。为了使用自动更新功能,我们决定将其与 MSIX 打包工具一起打包为 VS2019 中的 UWP 应用程序。我能够在 IIS 上托管 appinstaller 文件,并通过 Web 上指向该文件的链接安装应用程序。自动更新也可以正常工作。
现在解决问题:当我运行已安装的应用程序时,它的图标没有显示在任务栏中,但它显示在任务管理器中,使用了大量的 cpu。在进程监视器中,它显示应用程序尝试访问其依赖项(如 PresentationFramework.dll)但不成功,因为结果始终是“文件锁定,只有读者”。DLL 本身存在于 WindowsApps/xxx/ 路径中。我也无法手动启动 EXE,因为我的用户没有权限。我在这里想念什么?
编辑:我现在也意识到我的应用程序只是作为任务管理器中的后台进程启动,而不是作为应用程序启动。当我转到 WindowsApps/xxx/MyApp 下的应用程序目录时,由于没有前面提到的权限,我无法直接启动 EXE。但是当我复制整个文件夹时,我可以启动 EXE,GUI 出现并且应用程序再次成为任务管理器中的应用程序。
解决方案
我们找到了答案。由于 GUI 是 WPF .Net Core 项目,我们使用 Windows 应用程序打包项目进行设置以从中生成 UWP 应用程序,使用的技术似乎是所谓的桌面桥。
在进程监视器中,它似乎尝试访问正确路径下的文件,但只要在 WPF Projects App.xaml.cs 中未正确设置应用程序路径,它就会以某种方式不正确地访问文件。
要解决此问题,请使用Andrew Leader的解决方案
推荐阅读
- html - 使容器略高于页脚
- html - 如果每个按钮的形式不同,如何使两个按钮内联?
- java - 我可以在定时器中使用线程吗?
- javascript - 仅使用 NodeJS 递归地列出路径中的目录
- laravel - Illuminate\Database\QueryException:SQLSTATE[42S02]:未找到基表或视图:1146 表 'avatr.apps' 不存在(SQL:插入到 `apps`
- c++ - 使用 gcc-5 编译遗留软件 - 使系统找不到 libgfortranbegin.a - 但我可以
- php - 部署和更改节点 js 和 Laravel 站点的 URL
- ios - 将元素组合在一起
- regex - 查找关键字+1并创建新列
- google-bigquery - 如何将 52.4 MB 的 XLSX 电子表格加载到 BigQuery 中?