MSIX运行时中如何引用Windows AppData文件URI?
MSIX运行时环境下WebView2加载LocalAppData中PDF文件的问题
背景
- 应用类型:C# WPF .NET Framework应用,通过Microsoft AppCenter部署
- 运行环境:MSIX运行时(会对
%APPDATA%等特殊文件夹执行文件重定向) - 文件读写正常:使用以下代码可正常读写目标文件夹内的文件:
Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "MyAppFolder")- 非MSIX环境(如Visual Studio调试):路径指向传统LocalAppData目录:
C:\Users\<user>\AppData\Local\MyAppFolder - MSIX环境(部署后):路径被重定向至:
C:\Users\<user>\AppData\Local\Packages\MyApp_kp0rrpapc6x65\LocalCache\Local\MyAppFolder
- 非MSIX环境(如Visual Studio调试):路径指向传统LocalAppData目录:
问题
WebView2控件需通过设置Source属性显示PDF文件,非MSIX环境下操作正常,但MSIX环境中无法构建有效URI:
- 基于传统LocalAppData路径构建的URI不会被MSIX运行时拦截并转换为实际重定向路径
- 尝试使用
ms-appdata://格式的URI,代码如下,但仍无法加载文件:WebView.Source = new Uri(@"ms-appdata://MyApp/local/MyAppFolder/report.pdf");
内容的提问来源于stack exchange,提问作者BillV
相关产品推荐
相关产品推荐

