WinUI 3.0 - 为啥 UWP 项目要求 MS Edge for Business 用于 WebView2
Posted
技术标签:
【中文标题】WinUI 3.0 - 为啥 UWP 项目要求 MS Edge for Business 用于 WebView2【英文标题】:WinUI 3.0 - Why UWP project is asking for MS Edge for Business for WebView2WinUI 3.0 - 为什么 UWP 项目要求 MS Edge for Business 用于 WebView2 【发布时间】:2020-11-02 02:11:49 【问题描述】:当我在带有WinUI 3.0
的UWP
项目中使用WebView2
控件并运行应用程序时,WebView2
控件内的网页不显示。相反,该应用会显示以下消息,将我带到Microsoft Edge for Business 下载页面:
未检测到合适的 Microsoft Edge 版本。请从here 安装最新的 beta 通道版本
问题:为什么它要求使用 Microsoft Edge for Business?我的Windows 10 - Pro
上已经安装了最新版本的MS Edge Canary Channel
和最新版本的MS Edge。我不想安装太多版本。
MainPage.xaml:
<Page
x:Class="UWP_WinUI.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:UWP_WinUI"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
Background="ThemeResource ApplicationPageBackgroundThemeBrush">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Button x:Name="myButton" Click="myButton_Click">Click Me</Button>
<WebView2 x:Name="wvTest" Grid.Row="1" Source="https://www.bing.com/"/>
</Grid>
</Page>
应用显示
网页应该显示在按钮控件下方的WebVeiw2
中。但相反,会显示消息(如下所示):
【问题讨论】:
您在项目中使用的是哪个版本的 Webview 2?我建议尝试使用支持的 Edge Canary 版本,它可能有助于修复错误。您可以查看此文档以了解特定 Webview2 版本所需的最低 Edge 版本。 docs.microsoft.com/en-us/microsoft-edge/webview2/releasenotes @Deepak-MSFT 这是使用UWP
模板创建的WinUI 3.0 项目,该模板带有内置的最新WebView2
控件。这与您安装合适版本(通过 NuGeT 包)WebView2
控件等的其他项目不同。我还安装了最新版本的MS Edge Canary
(这是我在工作时 WebView2 上的另一个 MS 教程所要求的)那个教程)。
【参考方案1】:
当我在带有 WinUI 3.0 的 UWP 项目中使用 WebView2 控件并运行应用程序时,WebView2 控件内的网页不显示。相反,该应用会显示以下消息,将我带到 Microsoft Edge for Business 下载页面
您可以基于Getting Started在以下平台使用Webview2:
Win32 C/C++ WPF WinFormsUWP 不是其中之一。因为 UWP 是 Windows 应用商店应用,而上述所有平台都是 Windows 桌面应用。所以如果你想在你的应用中使用Webview2,你需要切换你正在使用的平台。 WPF 可能是一个不错的选择。
【讨论】:
如果这是真的,那么我不理解控件和功能下的表格。它似乎表明 webview2 可用。 microsoft.github.io/microsoft-ui-xaml/about.html#win32 @darbid as codendone answered in github 需要的是一个足够新的安装,包含当前推荐的 Beta 通道的 WebView2 运行时。他们还没有测试 WinUI Preview 是否兼容。因此,对于未来,是的,它将得到支持。但目前不建议将其用于生产环境。【参考方案2】:“WinUI 3.0 Desktop”现已成为WebView2支持的平台,详情请查看本站:https://docs.microsoft.com/en-us/microsoft-edge/webview2/gettingstarted/winui。
如果您计划发布您的 WinUI 3.0 应用程序是一个 UWP 应用程序,那么可能会有一些限制,坦率地说,我不确定这个组合。
【讨论】:
以上是关于WinUI 3.0 - 为啥 UWP 项目要求 MS Edge for Business 用于 WebView2的主要内容,如果未能解决你的问题,请参考以下文章
将新项目添加到绑定的 ItemsSource 时,WinUI 3 UWP TabView 不显示新选项卡
(多)在 UWP 或 WinUI3 中将列表绑定到 TextBlock
UWP C# WINUI NavigationView 如何访问其他页面/视图