测试即将推出的 API 和功能

若要测试即将推出的 API 和功能,请切换到预览频道,如下所示。

WebView2 Evergreen Runtime 的汇报通常包括新的 API 和功能。 其中一些更新可能会中断 WebView2 应用。 若要提前测试实验 API 并确保应用的向前兼容性,应使用 Microsoft Edge 预览版以及 WebView2 SDK 的预发行版执行兼容性测试。

测试预发行版 SDK 包时,需要指示应用程序使用 Microsoft Edge (Beta、Dev 或 Canary) 的预览通道,而不是默认使用 WebView2 运行时。 下面介绍了执行此操作的几种方法。

WebView2 运行时没有最新的实验性 WebView2 API。 若要在预发布 SDK 中使用实验性 API 时运行的 WebView2 代码,在开发计算机上的客户端 () 需要具有 Microsoft Edge 预览通道。 建议使用 Canary 预览通道,因为它领先于其他通道,并且具有最新的实验性 API。

预发行 SDK 与预览频道配合使用,如下所示:

  • WebView2 SDK 的预发布版本包含实验性 API 的方法签名,使你能够在应用中使用实验性 WebView2 API 编写代码。

  • Microsoft Edge 的预览通道包含运行和呈现应用所需的 Microsoft Edge 二进制文件,包括实验 API 的实现。

有关 SDK 版本如何与 Microsoft Edge 的 WebView2 运行时或预览通道结合使用的详细信息,请参阅 了解不同的 WebView2 SDK 版本

下载预发行 SDK 和预览频道

若要使用实验 API,请从 Microsoft.Web.WebView2 包下载 WebView2 SDK 的预发行版。

若要下载 Microsoft Edge 预览版频道,请参阅 Microsoft Edge 预览体验成员频道

使应用使用特定浏览器通道的方法

初始化 WebView2 时,它将尝试在计算机上查找要使用的有效运行时。 这可以是 WebView2 运行时、Microsoft Edge 的预览通道,也可以是包含固定版本二进制文件的指定位置。 有关支持的运行时的详细信息,请参阅 分发应用和 WebView2 运行时

可通过多种方式使 WebView2 应用使用 Microsoft Edge 的指定预览通道:

  • 通过调用函数。
  • 通过使用注册表替代。
  • 通过使用环境变量。
  • 通过使用组策略。

下面介绍了这些方法。

浏览器可执行文件文件夹

一种方法是使用浏览器可执行文件夹。 在此方法中,指定包含运行时二进制文件的文件夹。 此文件夹可以是以下任意位置:

  • WebView2 运行时的安装位置。
  • Microsoft Edge 的预览频道。
  • 包含你自己部署到计算机的固定版本二进制文件的文件夹。

如果将浏览器可执行文件文件夹设置为 Microsoft Edge 的特定预览通道,则需要在该预览通道更新到较新版本时更新位置。 这是因为位置包含版本号作为其路径的一部分。 因此,建议仅使用此方法进行本地测试。

默认通道搜索顺序

本部分适用于使用组策略、注册表重写或环境变量。

如果未指定特定的浏览器可执行文件文件夹,则 WebView2 将尝试从已知默认位置之一加载运行时。

默认通道搜索顺序为:

  1. WebView2 运行时。
  2. Microsoft Edge 的 Beta 版频道。
  3. Microsoft Edge 的开发通道。
  4. Microsoft Edge 的 Canary 频道。

如果使用组策略、注册表替代或环境变量将发布通道首选项设置为 1 ,则使用默认搜索顺序的相反。

调用函数

如果要通过调用函数使应用程序使用特定的运行时,请完成以下步骤。

Win32/C++

我们将使用 WebView2APISample 来演示此过程。

  1. 在开发计算机上,找到包含 Microsoft Edge 预览通道的路径。 例如:

    C:\\Users\\myname\\AppData\\Local\\Microsoft\\Edge SxS\\Application\\93.0.929.0

  2. 克隆 WebView2Samples 存储库。

  3. 打开 WebView2APISample 项目,然后在 “源文件”中打开该文件 AppWindow.cpp

  4. 查找 CreateCoreWebView2EnvironmentWithOptions 的调用位置。 例如:

    HRESULT hr = CreateCoreWebView2EnvironmentWithOptions(
        subFolder, m_userDataFolder.c_str(), options.Get(),
        Callback<ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler>(
            this, &AppWindow::OnCreateEnvironmentCompleted)
            .Get());
    
  5. subFolder 变量替换为要使用的 Microsoft Edge 预览通道的文件夹路径。 例如:

    HRESULT hr = CreateCoreWebView2EnvironmentWithOptions(
        L"C:\\Users\\myname\\AppData\\Local\\Microsoft\\Edge SxS\\Application\\93.0.929.0", m_userDataFolder.c_str(), options.Get(),
        Callback<ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler>(
            this, &AppWindow::OnCreateEnvironmentCompleted)
            .Get());
    

WinForms

WinForms 使用的方法类似于上述 Win32/C++ 方法。

  1. 设置为 CreationProperties.BrowserExecutableFolder 指向包含 Microsoft Edge Canary 或 Dev 通道的路径。 为此,请在 WebView2Samples 解决方案的 WebView2WpfBrowser 项目中,打开 文件 MainWindow.xaml.cs

  2. 查找 CreationProperties.BrowserExecutableFolder。 例如:

    WebView2 GetReplacementControl(bool useNewEnvironment)
    {
       WebView2 replacementControl = new WebView2();
       ((System.ComponentModel.ISupportInitialize)(replacementControl)).BeginInit();
       // Setup properties and bindings.
       if (useNewEnvironment)
       {
          // Create a new CoreWebView2CreationProperties instance so the environment
          // is made anew.
          replacementControl.CreationProperties = new CoreWebView2CreationProperties();
          replacementControl.CreationProperties.BrowserExecutableFolder = webView.CreationProperties.BrowserExecutableFolder;
          replacementControl.CreationProperties.Language = webView.CreationProperties.Language;
          replacementControl.CreationProperties.UserDataFolder = webView.CreationProperties.UserDataFolder;
          shouldAttachEnvironmentEventHandlers = true;
       }
    

Wpf

WPF 使用的方法类似于上述 Win32/C++ 方法。

请参阅 CoreWebView2CreationProperties.BrowserExecutableFolder 属性

使用注册表替代

使用注册表替代指定预览通道时,有两个选项:

  • 更改浏览器可执行文件文件夹。
  • 更改发布通道首选项。

下面介绍了这两种方法。

注册表替代:浏览器可执行文件文件夹

若要使用设置浏览器可执行文件文件夹的注册表替代,使应用程序使用 Microsoft Edge 预览通道:

  1. 打开 PowerShell 终端或已启用 PowerShell 的命令提示符。

  2. 修改并运行以下命令:

    REG ADD HKLM\Software\Policies\Microsoft\Edge\WebView2\BrowserExecutableFolder /v WebView2APISample.exe /t REG_SZ /d "C:\Users\myname\AppData\Local\Microsoft\Edge SxS\Application\88.0.680.0"

    将 替换为 WebView2APISample.exe 你自己的应用可执行文件的文件名或应用程序用户模型 ID。 使用通配符 (*) 作为值名称会将替代应用于计算机上的 所有 WebView2 应用,并可能导致意外行为。

    将 替换为 C:\Users\myname\AppData\Local\Microsoft\Edge SxS\Application\88.0.680.0 所需 Microsoft Edge 预览通道的路径。

使用默认的 WebView2 Evergreen 运行时恢复

若要撤消上述设置,请运行以下命令:

REG DELETE HKLM\Software\Policies\Microsoft\Edge\WebView2\BrowserExecutableFolder /f

注册表替代:发布通道首选项

若要通过使用注册表重写(通过更改通道搜索顺序来更改发布通道首选项)使应用程序使用 Microsoft Edge 预览通道:

  1. 打开 PowerShell 终端或已启用 PowerShell 的命令提示符。

  2. 修改并运行以下命令:

    REG ADD HKLM\Software\Policies\Microsoft\Edge\WebView2\ReleaseChannelPreference /v WebView2APISample.exe /t REG_SZ /d "1"

    将 替换为 WebView2APISample.exe 你自己的应用可执行文件的文件名或应用程序用户模型 ID。 使用通配符 (*) 作为值名称会将替代应用于计算机上的 所有 WebView2 应用,并可能导致意外行为。

使用默认的 WebView2 Evergreen 运行时恢复

若要删除 ReleaseChannelPreference 注册表替代,请运行 命令:

REG DELETE HKLM\Software\Policies\Microsoft\Edge\WebView2\ReleaseChannelPreference /f

使用环境变量

若要通过环境变量使应用程序使用 Microsoft Edge 预览通道,请执行以下操作:

  1. 在 Windows 搜索栏中,输入“环境”,然后选择 “编辑系统环境变量”。

    使用 Windows 搜索栏查找编辑环境变量的位置

  2. 在“ 系统属性 ”对话框中,选择“ 高级 ”选项卡,然后选择“ 环境变量 ”按钮。

    “系统属性”对话框中的“环境变量”按钮

  3. 在“环境变量”对话框的“用户变量”部分中,选择“新建”。

  4. 在“ 新建用户变量 ”对话框中,将 “变量名称 ”设置为 WEBVIEW2_BROWSER_EXECUTABLE_FOLDER,并将 “变量”值 设置为首选浏览器通道或固定版本二进制文件的路径。

    或者,将 变量名称 设置为 WEBVIEW2_RELEASE_CHANNEL_PREFERENCE,并将 变量值 设置为 1 以反转搜索顺序,以便首先使用预览频道 (Beta、Dev 或 Canary) 。 除 之外 1 的任何值都指示默认搜索顺序。

  5. 单击“ 确定” 关闭对话框。

    将新的环境变量添加为用户变量

受影响的应用

上述方法为所有 WebView2 应用(而不仅仅是要测试的应用)设置环境变量。 若要仅为要测试的 WebView2 应用设置此环境变量,如果要从命令提示符运行应用,请设置环境变量 WEBVIEW2_RELEASE_CHANNEL_PREFERENCE=1。 这仅为当前 cmd.exe 命令提示符进程以及来自该 cmd.exe 实例的任何新子进程设置环境变量。 然后,环境变量仅适用于要测试的 WebView2 应用。

如果使用 WEBVIEW2_RELEASE_CHANNEL_PREFERENCE 环境变量,则可以将其设置为以下值。

说明
1 在 WebView2 运行时之前,反转搜索顺序以先使用 预览通道
0 或除 1 使用 默认通道搜索顺序,即在预览通道之前使用 WebView2 运行时。

将新的环境变量应用于正在运行的进程

设置环境变量后,环境变量将应用于创建的任何新进程。 环境变量不适用于已在运行的进程。 若要确保所有进程都使用新的环境变量,可能需要重启 Visual Studio,或注销 Windows,然后再次登录。

使用组策略

如果要使用组策略使应用程序使用 Microsoft Edge 预览通道,请将 ADMX 和 ADML 文件复制到文件夹 PolicyDefinitions ,如下所示。

  1. 下载和部署 Microsoft Edge for Business 下载策略文件。

  2. 将 ADMX 文件复制到策略定义模板文件夹,例如 C:\Windows\PolicyDefinitions

  3. 将 ADML 文件复制到文件夹中 Policy Definitions 的匹配区域设置文件夹,例如 C:\Windows\PolicyDefinitions\en-us 文件夹。

  4. 打开“本地组策略 编辑器。 为此,请在 Windows 搜索栏中键入“组策略”,然后选择 “编辑组策略”。

  5. 依次展开“本地计算机策略”、“计算机配置”“用户配置”。 然后展开 “管理模板>”“Microsoft Edge WebView2”。

    “本地组策略 编辑器”对话框

  6. 选择“ 浏览器可执行文件文件夹”。 以下屏幕截图适用于设置 浏览器可执行文件文件夹。 或者,选择“ 发布通道首选项”,它使用类似的对话框。

    设置浏览器可执行文件文件夹

  7. 选择“ 显示 ”按钮。

  8. 填写“ 显示内容 ”对话框。 在 “值名称” 列中,输入应用的 .exe 文件名或应用程序用户模型 ID。 使用通配符 (*) 作为值名称会将替代应用于计算机上的 所有 WebView2 应用,并可能导致意外行为。

    “显示内容”对话框

  9. 选择 “确定” 关闭对话框。

有关详细信息,请参阅 配置 Microsoft Edge 策略设置