【发布时间】:2021-09-09 14:21:20
【问题描述】:
我们有一个使用 .net core 3.1 编写的 wpf 应用程序。 因此,为了强制 wpf 以管理员身份运行,我们添加了 appmanifest 文件并进行了更改:
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
到
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
以下行添加到 project.csproj 文件:
<ApplicationManifest>app.manifest</ApplicationManifest>
在完成所有之前的步骤并发布应用程序后,我们在 windows eventviewer 中遇到错误: 错误应用程序名称:WpfVideoCourseApp.Presentation.exe,版本:1.0.0.0,时间戳:0x60776cd9 错误模块名称:KERNELBASE.dll,版本:10.0.19041.1151,时间戳:0x891df6d3 异常代码:0xe0434352 故障偏移:0x0000000000034ed9 故障进程ID:0x2ac8 错误应用程序启动时间:0x01d7a5852476cbd1 错误的应用程序路径:E:\VideoCourseApp\WpfVideoCourseApp.Presentation.exe 错误模块路径:C:\Windows\System32\KERNELBASE.dll 报告 ID:d9b3e20f-55dc-4dd2-b0ad-40e940dedaa6 故障包全名: 错误的包相关应用程序 ID:
但毕竟我应该说:应用程序在使用调试文件时运行没有任何问题(问题都与应用程序的已发布版本有关)
更新: 在发布时,当我运行应用程序时,应用程序尝试在 Windows 文件夹中写入一些内容并且访问将被拒绝(但在运行调试代码时不会发生这种情况) 实际上,我添加了清单文件以允许在某些特殊路径(如文档文件夹)中读取和写入我的文件,但它只在调试中工作
【问题讨论】: