WebView2固定版本运行时加载失败 提示找不到兼容运行时
修复方案
核心问题是你传入的固定版本运行时路径写错了:
CoreWebView2Environment.CreateAsync(@"\Microsoft.WebView2.FixedVersionRuntime.96.0.1054.62.x86");
路径开头的\代表磁盘根目录,程序会直接去当前盘符的根目录找运行时文件夹,根本不会访问你存放运行时的bin/debug目录,自然会报找不到运行时的错误。
正确写法是拼接程序运行目录的绝对路径,彻底避免相对路径解析偏差:
using System.IO; // 获取程序当前运行的根目录 string appRoot = AppContext.BaseDirectory; // 拼接固定运行时的完整路径 string runtimeFullPath = Path.Combine(appRoot, "Microsoft.WebView2.FixedVersionRuntime.96.0.1054.62.x86"); // 传入正确路径初始化WebView2环境 var webViewEnv = await CoreWebView2Environment.CreateAsync(runtimeFullPath);
如果修正路径后仍报错,按以下顺序排查:
- 检查架构匹配:你下载的是x86版本运行时,必须保证项目目标平台设为x86,或Any CPU勾选了「首选32位」。如果项目以x64/ARM64进程启动,完全无法识别x86架构的运行时,需要下载对应架构的固定版本运行时替换。
- 检查目录层级:解压固定运行时压缩包后,要保证你传入的路径下直接存在
msedgewebview2.exe、EBWebView文件夹,不要出现多层嵌套——很多人解压时会额外生成一层同名文件夹,导致实际exe路径比传入路径深一级,程序识别不到。 - 检查文件完整性:确认运行时文件夹内的文件没有被杀毒软件误删隔离,核心文件缺失也会报兼容错误。
你当前使用的1.0.1020.30版本SDK和96.0.1054.62版本运行时符合兼容要求,不需要更换Nuget包版本。
调试时可以先打印
runtimeFullPath的完整值,手动打开对应路径确认能找到msedgewebview2.exe,路径正确的前提下99%的同类报错都能解决。
内容的提问来源于stack exchange,提问作者Starship_001
相关产品推荐
相关产品推荐

