远程调试 Xbox WebView2 WinUI 2 (UWP) 应用

若要使用 Microsoft Edge DevTools 调试 WebView2 WinUI 2 (UWP) 应用,请使用远程调试。 WebView2 WinUI 2 (UWP) 应用需要远程调试,因为目前,内置 DevTools 无法在应用商店签名的 WebView2 WinUI 2 (UWP) 应用中启动。

将 DevTools 远程附加到 Xbox WebView2 WinUI 2 (UWP) 应用

将 Microsoft Edge DevTools 远程附加到 Xbox WebView2 WinUI 2 (UWP) 应用,如下所示:

  1. 在 Microsoft Edge 中,转到 edge://inspect。 此时会打开 “使用 Edge 开发人员工具进行检查” 页:

    DevTools 检查实用工具页

  2. 在 Xbox 上启用开发人员模式。 请参阅 Xbox One 开发人员模式激活

  3. 在 Microsoft Edge 中,转到 https://<System IP>:11443,其中 <System IP> 替换为 Xbox 系统 OS IP。 Windows 设备门户选项卡中会显示“确认安全设置”页:

    “Windows 设备门户”选项卡中的“确认安全设置”页

  4. 单击“ 使用不安全的连接继续” 按钮。 出现 SSL 证书错误: NET::ERR__CERT_AUTHORITY_INVALID

    SSL 错误

  5. 单击“高级”按钮。 将显示一条消息,“服务器无法证明...”:

    高级选项

  6. 单击“继续”以 <System IP> (不安全) 链接,其中 <System IP> 替换为你的 Xbox 系统 OS IP。 Xbox 设备门户打开:

    Xbox 设备门户

  7. 转到 https://<System IP>:11443/config/rootcertificate,其中 <System IP> 替换为你的 Xbox 系统 OS IP。 这会下载文件 rootcertificate.cer

    Microsoft Edge 的“下载”对话框中列出的根证书文件

  8. 打开下载 rootcertificate.cer 的文件。 此时会打开一个安全警告对话框:

    “安全警告”对话框

  9. 单击“ 打开 ”按钮。 此时会打开 “证书 ”对话框:

    “证书”对话框

  10. 单击“ 安装证书 ”按钮。 此时会打开 “欢迎使用证书导入向导 ”对话框:

    “欢迎使用证书导入向导”对话框

  11. 选择“ 当前用户 ”选项按钮,然后单击“ 下一步 ”按钮。 此时会打开“证书导入向导”:

    证书导入向导

  12. 选择“ 将所有证书放入以下存储区”选项,单击“ 浏览 ”按钮,然后选择“ 受信任的根证书颁发机构”。

  13. 单击“ 下一步 ”按钮。 此时会打开 “安全警告 ”对话框:

    “安全警告”对话框

  14. 单击“ ”按钮。

  15. 重启Microsoft Edge。

  16. 转到 https://<System IP>:11443,其中 <System IP> 替换为 Xbox 系统 OS IP,并验证连接是否指示为安全 (即 HTTPS URL) :

    保护 XDP

  17. 在应用项目中,设置以下变量,以配置 WebView2 WinUI 2 (UWP) 应用进行远程调试。

    若要启用远程调试,必须在项目中设置环境变量。 必须在创建 CoreWebView2 实例之前以及设置 属性或调用 方法之前设置 WebView2.SourceWebView2.EnsureCoreWebView2Async 变量。

    "WEBVIEW2_ADDITIONAL_BROWSER_ARGUMENTS", "--enable-features=msEdgeDevToolsWdpRemoteDebugging"
    

    例如,如果使用的是 WebView2 示例 UWP 应用,可以通过在 文件中添加以下行 Browser.xaml.cs 来设置环境变量:

    Environment.SetEnvironmentVariable("WEBVIEW2_ADDITIONAL_BROWSER_ARGUMENTS", "--enable-features=msEdgeDevToolsWdpRemoteDebugging");
    

    此屏幕截图中的构造函数中的Browser()行编号为 33,位于包装现有SetEnvironmentVariable语句的 下方#endif

    浏览器参数远程调试

  18. 使用 Xbox Device Portal 将应用部署到 Xbox,然后启动应用。

  19. 转到 edge://inspect

  20. “连接到远程 Windows 设备 ”文本框中,输入 https://<System IP>:11443,其中 <System IP> 替换为你的 Xbox 系统 OS IP,然后单击“ 连接到设备 ”按钮。

  21. 验证是否可以成功连接,以便在计算机名称下列出可调试的 WebView2 控件(名为 Edge):

    Edge 检查 Xbox

  22. Edge WebView2 控件项的底部,单击 检查 链接。 为 WebView2 控件打开Microsoft Edge DevTools:

    DevTools 检查 Xbox

现在,你可以使用 Microsoft Edge DevTools 检查和调试 Xbox WebView2 WinUI 2 (UWP) 应用中的 WebView2 控件。

另请参阅