c# - 打包应用程序时,WinRT 和 UWP WebView localhost url 不会触发

标签 c# visual-studio-2015 windows-runtime localhost win-universal-app

我真的很纠结这个问题!

所以我有一个 WinRT Metro 应用程序,它有一个 HTML 网页嵌入到应用程序内的 Web View 中。在 HTML 页面中有一个 div,其中包含指向本地主机 url 的 href。我正在使用此本地主机调用与正在本地主机端口上监听此 url 的 .NET 桌面应用程序进行通信。

当我在 Visual Studio(2015,更新 1 或 2)中构建应用程序(作为调试或发布)时,应用程序按预期工作。我可以点击 div,触发 url,通信成功。

但是,当我打包应用程序并将其旁加载到我的机器上时,该功能无法按预期运行。我可以点击 div...但是 url 永远不会被触发。

HTML 网址示例([...] = 代码已删除):

<a href="http://localhost:8123/?Api [...] >Click here</a>

代码隐藏导航到 HTML 示例:

this.webView.Navigate(new Uri("ms-appdata:///local/index.html"));

XAML Webview 实例化:

<WebView x:Name="webView" Grid.Row="1" ScriptNotify="webView_ScriptNotify" Grid.Column="1" Visibility="Collapsed"/>

以下是我尝试过的方法:

  1. 我创建了一个 包含 WebView 和嵌入式 HTML 页面的 WinRT 应用程序。功能在构建时有效,但在打包时无效。
  2. 我创建了一个 UWP 应用程序,它包含 WebView 和嵌入式 HTML 页面。功能在构建时有效,但在打包时无效。
  3. 我尝试使用命令行在 Visual Studio 外部打包应用程序,如 here. 所述该功能不起作用。
  4. 我尝试使用不同版本的 Visual Studio 2015。结果相同。
  5. 我尝试在不同的机器上构建/打包。结果相同。
  6. 我试图导航到 google 而不是 localhost。有效。
  7. 我试图导航到另一个 html 文件而不是本地主机。有效。
  8. 当然,我也尝试了一些显而易见的事情,例如清理、更改包名称、更改 Visual Studio App Packager 中的设置、重新启动、删除引用等。

有没有人遇到过这种情况?这似乎是打包过程中的某种错误。欢迎任何建议/提示/答案!谢谢!

以防万一你想知道,这个应用程序仅供我工作的公司内部的企业使用,不会上传到 Windows 应用商店。

最佳答案

通常,您无法在 UWP 商店应用程序中打开环回连接。句号。如果您是旁加载,或者在企业环境中,有一个解决方法:

https://msdn.microsoft.com/en-us/library/windows/apps/dn640582.aspx

关于c# - 打包应用程序时,WinRT 和 UWP WebView localhost url 不会触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36629465/

相关文章:

windows-8 - 在 WinRT 中获取当前用户

c# - Windows 8 应用程序上的关于页面

c# - 使用 ICriterion 过滤 NHibernate 子类型

c# - 从流中读取 XML

c++ - 从构建中排除文件(自定义和临时)

typescript - 如何在 VS2015 中手动更新 typescript

c# - 防止 double.Parse 删除小数点后的尾随零?

c# - HttpClient-向Get请求添加参数

visual-studio-2015 - VS 2015 Task Runner 键盘快捷键是什么?

c# - 修复 "A method was called at an unexpected time"错误的最佳方法是什么