我正在使用C#开发Windows 8应用程序。我需要将运行时下载的html页面加载到此路径:
C:\用户\我\桌面\ SVNWORKING \ MyApp的\ BIN \ 86 \调试\ AppX中\ myweb.html
我使用以下命令在WebView中加载页面:
WebView2.Source = new Uri("ms-appx-web:///myweb.html");
当我在模拟器或Surfaces(RT和PRO)中测试应用程序时,调试WebView加载html页面,但如果我生成一个包并安装它或从Windows应用商店安装应用程序我可以&#39 ;看到WebView中的html。发布的权限问题?
答案 0 :(得分:1)
我相信你会看到这种行为,因为调试和真正的应用部署之间存在差异。部署应用程序以进行调试时,它将从与Store部署不同的位置运行。在后一种情况下,安装文件夹实际上是只读的。
因此,当您说“在运行时下载”时,商店部署的应用程序根本无法将文件保存到InstalledLocation。您可以通过创建应用程序包然后使用PowerShell脚本进行部署来对此进行测试。这与Store部署相同,意味着应用程序不会像上面那样位于Debug位置。
您需要使用app数据文件夹而不是InstalledLocation,即Windows.Storage.ApplicationData.LocalFolder或TemporaryFolder,然后使用ms-appdata:/// local或ms-appdata:/// temp as uri基地。但请注意,仅从Windows 8.1开始支持此功能,而不是Windows 8.0。