WPF应用嵌入Webview2突然无法加载所有网站 示例项目可复现
WebView2 WPF 突发无法加载站点排查方案
该类突发失效问题多数和WebView2运行时自动更新、宿主系统环境变更相关,可按以下步骤逐一排查:
- 核查WebView2运行时版本,近期118.x及以上版本的运行时存在已知的WPF宿主兼容性问题,可在控制面板「程序和功能」列表中找到「Microsoft Edge WebView2 Runtime」查看具体版本号
- 显式指定用户数据目录权限,部分Windows安全更新会限制WebView2默认临时目录的读写权限,可在初始化阶段手动指定可读写的本地目录,代码示例如下:
using Microsoft.Web.WebView2.Core; // 页面初始化时执行 private async void InitializeWebView2() { // 第二个参数替换为你的应用有权限读写的本地目录 CoreWebView2Environment webView2Environment = await CoreWebView2Environment.CreateAsync( null, @"C:\MyApp\WebView2Data", null ); await webView2Control.EnsureCoreWebView2Async(webView2Environment); webView2Control.Source = new Uri("https://www.bing.com"); }
- 排查网络拦截规则,近期不少第三方安全软件、防火墙更新后会拦截
msedgewebview2.exe进程的网络请求,可临时关闭相关软件后验证问题是否复现 - 检查初始化进程状态,启动应用后打开任务管理器的「详细信息」标签,确认是否有
msedgewebview2.exe进程正常启动,若没有进程生成说明初始化流程失败,可捕获EnsureCoreWebView2Async方法的异常信息定位根因 - 若确认是运行时版本兼容性问题,可暂时使用固定版本的WebView2运行时便携版打包随应用分发,等待微软官方推送修复补丁即可
内容的提问来源于stack exchange,提问作者Angela Austin
相关产品推荐
相关产品推荐

