【问题标题】:Microsoft Edge WebView2 - Error: The type or namespace name 'Web' does not exist in the namespace 'Microsoft'Microsoft Edge WebView2 - 错误:命名空间“Microsoft”中不存在类型或命名空间名称“Web”
【发布时间】:2020-07-11 05:12:48
【问题描述】:

我正在编写这个官方教程:Getting started with WebView2 in WPF (Preview)。

  1. 已在我的Windows 10 pro -ver 1903 上安装了Microsoft Edge (Chromium) Canary channel。
  2. 已在最新版本 VS2019 - ver16.6.3 上创建了一个 .NET Core 3.1 - WPF 项目。
  3. 已安装 Nuget 包Microsoft.Web.WebView2 -Version 0.9.538。

但是,按照教程的step 3 中的说明,当我在<Window/> 的<Window/> 标记中添加命名空间xmlns:wv2="clr-namespace:Microsoft.Web.WebView2.Wpf;assembly=Microsoft.Web.WebView2.Wpf" 并构建(F5)应用程序时,我在using Microsoft.Web.WebView2.Wpf; 行收到以下错误MainWindow.g.cs 文件:

错误:

错误 CS0234 名称空间“Microsoft”中不存在类型或名称空间名称“Web”(您是否缺少程序集引用?)

MainWindow.xaml:

<Window x:Class="WpfWebView2TEST.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:wv2="clr-namespace:Microsoft.Web.WebView2.Wpf;assembly=Microsoft.Web.WebView2.Wpf"
        mc:Ignorable="d"
        Title="MainWindow" Height="450" Width="800">
    <Grid>
        
    </Grid>
</Window>

问题:错误的原因可能是什么?如何解决?

【问题讨论】:

  • 我也有同样的问题。 MS 指南与 WPF 中的实际 WebView2 不匹配。我发现的一个建议是使用预览版而不是发布版,但我没有找到安装它的方法。因此,我已经退回到过时的 1st WebView,它使用的是 Win10(不是 Canary)附带的默认 Edge。
  • 我建议将chromium-embedded标签替换为.net-core,因为这个问题与CEF无关。
  • 您必须安装“预发布”版本的 WebView2 才能在 .Net 中使用它!
  • @PoulBak 你的建议奏效了(谢谢)。为了其他读者的利益,您可能希望将您的评论设为Response(给出简要说明,指出本教程第 2 步的第 3 条也要求安装预发布包版本,我可能忽略了该说明,而是安装了较新版本的软件包)。而且,我会将您的回复标记为“答案”。
  • 作为旁注,Github 中有一个关于此问题的当前线程,用于解决此错误。我建议查看页面以查看问题何时关闭:github.com/MicrosoftDocs/edge-developer/issues/729,我们可以开始使用发布版本。

标签: c# wpf webview2


【解决方案1】:

要在.Net 中使用WebView2 控件,您必须使用标记为“pre-release”的版本。

只有该版本包含必要的 .Net 库。

安装页面上其实有提到(但不是很清楚)。

安装时,请确保您已选中“包括预发行版”:

注意:安装“预发布”版本后,Visual Studio 会告诉您有更新(即没有“预发布”的版本)。 请勿升级!

好吧,在未来的某个时候,他们当然会从标准版本开始支持 .Net,但暂时不支持。

【讨论】:

    【解决方案2】:

    目标框架需要是4.7.2

    【讨论】:

      【解决方案3】:

      这是 2019 年的 System.Web。

      但是,如果您尝试访问 WebView 类,则需要使用 Windows.UI.Xaml.Controls 命名空间。

      我可以阅读您的代码并查看您尝试做什么,这就是 Visual Studio 2019 的内容。

      【讨论】:

      • 请不要在您的帖子中添加签名,尤其是那些包含指向您自己内容的链接的帖子。 Stack Overflow 是关于内容的——它不是一个传统的讨论论坛。随意将您通常在签名中拥有的任何信息添加到您的个人资料中。如果人们喜欢您的内容,他们可能会点击以了解有关您的更多信息。
      猜你喜欢
      • 2013-05-24
      • 2018-05-09
      • 2018-06-14
      • 2021-07-28
      • 2013-05-04
      • 2015-01-05
      • 1970-01-01
      • 2017-12-29
      相关资源
      最近更新 更多