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