如何在 Visual Studio 工具栏中添加 WebView2 控件?

How can I add WebView2 control in Visual Studio Toolbar?

2019年Visual Studio,使用Nuget,我安装了Microsoft.Web.WebView2包。

PM> Install-Package Microsoft.Web.WebView2 -Version 0.9.430

如网上所述,我已经安装了新的 Microsoft Edge Chromium Canary 版本(这很重要)。

现在,当我打开工具箱时,我没有看到任何 WebView2 控件。

在此之前,我安装了 WebView 控件(与旧版 Edge 浏览器一起使用的旧版本)。

安装 WebView 后,该控件立即在工具箱中可见。

但是WebView2控制不是这样。

我试图在工具箱中手动添加 Microsoft.Web.WebView2 包中的所有控件。

但是 Visual Studio 拒绝加载在以下文件夹中找到的 WebView2Loader.dll

C:\Users\bernard\.nuget\packages\microsoft.web.webview2[=12=].9.430\build\x86

我也尝试过在

中找到的 DLL
C:\Users\bernard\.nuget\packages\microsoft.web.webview2[=13=].9.430\build\x64

是否可以在工具箱中安装 WebView2 控件?

如果是,怎么办?

Is there possible to install WebView2 control in Toolbox ?

恐怕您现阶段得不到想要的结果。

As this link表明webview2不能支持c#项目,只支持C++项目。以后微软会把它应用到.Net项目中。

还有,当你在NuGet包管理器UI上找到这个包时,你发现它与C++有关。

希望用不了多久就可以用在网络项目上了

您现在可以在 C# 中执行此操作。刚刚在 WinForms 中测试过。

https://docs.microsoft.com/en-us/microsoft-edge/webview2/gettingstarted/winforms

您还必须从此处下载浏览器的 Canary 版本:https://www.microsoftedgeinsider.com/en-us/download

您需要确保 select 选中用于按名称搜索包的文本框旁边的复选框 "include prerelease"。然后 select 一个带有预发布标签的版本。

我也遇到了这个问题。我按照入门教程中的说明进行操作:

https://docs.microsoft.com/en-us/microsoft-edge/webview2/gettingstarted/winforms

并安装了 Canary Edge,但控件仍然没有出现。然而,有趣的是 Microsoft.Web.WebView2.WinForms 引用最初没有出现在我的 Windows Form 项目的引用中。它们现在出现了,但不清楚为什么在最初简单地使用 Nuget 安装 Canary 和最新版本的 WebView2 控件后需要执行以下任何步骤。

  1. reinstalling Canary后,重启Windows
  2. 清理项目
  3. 在Manage Nuget packages中,重新安装WebView2 package到低版本(我用的是当前版本的prerelease,0.9.538-prerelease)

经过第三步,WebView2控件的库引用第一次出现在我的项目References中,我可以在Form Designer中使用它们。

注意:尝试将控件更新到 0.9.538 上的发布版本导致引用从引用中消失,并且 WebView2 控件不再可用于窗体设计器。重新安装预发行版解决了这个问题,因此看来 0.9.538 版本支持的范围比其预发行版小。

TL;DR: 不要更新到最新版本的 0.9.538,只需使用 0.9.538-prerelease。

编辑:根据this post you need to use Canary or Dev build of Edge or the Edge WebView2 Preview,无论哪个版本都应该根据发行说明工作。

人们遇到这个问题的主要原因是他们没有安装所需版本的 Edge。

勾选release notes。对于每个版本,你都会看到“最低 Microsoft Edge 版本”。例如,当您安装最新的 WebView2 版本 0.9.579(07/20/2020 发布)时,它需要 Edge 86.0.579.0

但官方 Edge 版本是(那天)84.0.522。

所以答案是:

重要: 请勿降级!卸载WebView2Nuget包,重启VS,安装旧版本,为了安全起见。

我最初安装版本 0.9.579 时假设来自 0.9.538 的 pre-release 组件将包含在较新版本中 - 没有这样的运气。看来这些组件目前仅在预发布版本中 - 我安装了 0.9.579-pre-release 并在工具箱中获得了 webview2

即使在使用预发布版本后,它也没有显示在我的 Visual Studio 2017 社区版 16.6.6

的工具箱中

我的解决方案是执行以下操作:

  1. Right-click 在 Visual Studios
  2. 的工具栏上
  3. Select 'Choose Items...'
  4. 单击“.NET Framework 组件”选项卡
  5. 点击'Browse',可能需要等待扫描完成
  6. 导航到“\packages\Microsoft.Web.WebView2.0.9.538-prerelease\lib\net462”
  7. Select 适合您的应用程序类型的正确 DLL
  8. 选择文件后,单击 window
  9. 中的 'OK' 按钮

从此处复制的解决方案: https://developercommunity.visualstudio.com/content/problem/1112781/webview2-control-is-missing-from-toolbox.html

刚刚使用 webView2 v1.0.721-prerelease 尝试了这个并且它正在工作 在制作了一个新的 winforms 项目并安装了 webview2 nuget 包之后,我确实必须在它显示在工具箱中之前进行重建解决方案构建