MAUI WebView加载资源时Windows平台抛出「指定模块未找到」异常
解决MAUI Windows平台WebView模态页加载时“找不到指定模块”异常
针对MAUI应用在Windows平台模态页中WebView抛出“The specified module could not be found”异常(Android平台正常)的问题,可尝试以下方案排查解决:
检查WebView2运行时依赖
MAUI Windows平台的WebView基于Microsoft Edge WebView2组件,若系统未安装兼容的WebView2运行时,会触发该异常。- 手动安装WebView2运行时:选择常青版(自动更新)或固定版本进行安装,确保版本与项目依赖匹配。
- 配置项目打包时包含运行时:在Windows项目的
.csproj文件中添加以下配置,将WebView2运行时打包到应用中:<PropertyGroup> <WebView2RuntimeInstallationMode>FixedVersion</WebView2RuntimeInstallationMode> <WebView2RuntimeVersion>118.0.2088.61</WebView2RuntimeVersion> <!-- 替换为适配项目的版本号 --> </PropertyGroup>
调整WebView加载时机
模态页的WebView可能在页面未完全初始化时就尝试加载URL,导致底层组件未就绪。可修改代码延迟加载:- 修改XAML,移除WebView的Source硬编码:
<WebView x:Name="webView" /> - 在页面后台代码的
OnAppearing方法中设置Source:protected override void OnAppearing() { base.OnAppearing(); webView.Source = "https://www.google.com"; }
- 修改XAML,移除WebView的Source硬编码:
验证Windows项目的SDK版本配置
确保Windows项目的目标SDK和最小SDK版本满足WebView2的要求,建议设置为Windows 10 1809(10.0.17763.0)及以上。可在Windows项目的.csproj中查看或修改:<PropertyGroup> <TargetFramework>net8.0-windows10.0.19041.0</TargetFramework> <SupportedOSPlatformVersion>10.0.17763.0</SupportedOSPlatformVersion> </PropertyGroup>清理重建项目
项目缓存或中间生成文件可能导致依赖异常,执行以下操作:- 删除Windows项目下的
bin和obj文件夹 - 在Visual Studio中依次执行“清理解决方案”和“重建解决方案”
- 重启Visual Studio后重新运行应用
- 删除Windows项目下的
内容的提问来源于stack exchange,提问作者Saurbaum
相关产品推荐
相关产品推荐

