【问题标题】:WebView2 control unable to render htmlWebView2 控件无法呈现 html
【发布时间】:2021-04-06 11:01:42
【问题描述】:

我正在测试 WebView2 (1.0.774.44),看看它是否可以为我的 wpf 项目替换旧的 IE 嵌入式 Web 浏览器。我正在做的是简单地导航到我硬编码的域。它在我的开发环境中运行良好。但是,当我在其中一台虚拟机上测试我的应用程序(相同的 .exe)时,它不起作用。

在测试环境中,Web 查看器仅显示空白页面。当我在页面上运行 DevTools 时,它看起来像是加载了 html 字符串。我什至可以点击页面上的链接或按钮。我只是看不到他们。

也没什么好分享的。我只是简单地创建了一个如下声明的新窗口。

//TestWebViewWindow.xaml
<window 
...some declarations
    xmlns:wv2="clr-namespace:Microsoft.Web.WebView2.Wpf;assembly=Microsoft.Web.WebView2.Wpf"
...more declarations
>

    <Border>
        <wv2:WebView2 Name="xWebView" Source="https://microsoft.com">
            <wv2:WebView2.CreationProperties>
                <wv2:CoreWebView2CreationProperties UserDataFolder="C:\Temp\webview2"/>
            </wv2:WebView2.CreationProperties>
        </wv2:WebView2>
    </Border>
</window>

一开始,我以为是浏览器问题,但后来在我的测试虚拟机上问题仍然存在,即使我安装了最新的兼容 Webview2 Runtime。

我的测试和开发环境都安装了WebView2 Runtime (89.0.774.68)。并且我在测试环境中复制了WebView2Loader.dll

有什么指导吗?

编辑:我没有尝试禁用显示适配器之一,但不幸的是,该选项不是我想要追求的方式。到目前为止,我发现,所述问题似乎不会在最新版本的 Windows 10 上重现。

【问题讨论】:

  • 您必须将整个 Release 文件夹复制到您的 VM,而不仅仅是 exe 和 WebView2Loader.dll. The WebView2` 使用该文件夹中的所有文件。
  • @PoulBak 当我构建应用程序时,只有带有 pdb 的可执行二进制文件和一个名为 runtimes 的文件夹,其中包含 WebView2Loader.dll。我也将它们复制到VM。还是不行。
  • 嗯,我的电脑上有7个文件+'runtimes'文件夹(对于WebView2的最小项目),不知道为什么你只有2个。另一件事:主机和VM 均为 64 位(或均为 x86)?
  • @PoulBak 是的。它们在相同的系统架构下运行。
  • C:\Temp\webview2 是否被创建?否则可能是安全问题。

标签: c# wpf webview2


【解决方案1】:

我们遇到了类似的问题,最后发现只有当我们使用多个显卡适配器时它才能重现。也许这也是你的情况。

【讨论】:

    【解决方案2】:

    同样的问题, 最后,我通过禁用我的一个显示适配器并在 Windows 设置中更改主显示找到了解决方案。

    作为一种不那么激进的方法,你也可以尝试在 Windows 上更换主显示器

    这很奇怪,但它现在可以工作了。

    【讨论】:

      猜你喜欢
      • 2012-10-06
      • 1970-01-01
      • 1970-01-01
      • 2011-09-02
      • 1970-01-01
      • 2013-06-10
      • 1970-01-01
      • 1970-01-01
      • 2020-01-26
      相关资源
      最近更新 更多