如何在UWP中使用WebView2的AddBrowserExtensionAsync方法?
解决UWP下WebView2添加扩展报错的方案
核心问题
UWP平台下CoreWebView2Environment.CreateAsync存在支持传入CoreWebView2EnvironmentOptions的重载,你可能未采用正确的控件初始化流程。必须手动创建带扩展配置的环境实例,再绑定到WebView2控件,才能开启扩展支持。
具体步骤
- 构造
CoreWebView2EnvironmentOptions并启用扩展
var envOptions = new CoreWebView2EnvironmentOptions(); envOptions.AreBrowserExtensionsEnabled = true;- 构造
- 创建自定义的
CoreWebView2Environment实例
前两个参数分别为浏览器可执行文件路径(传var environment = await CoreWebView2Environment.CreateAsync(null, null, envOptions);null使用默认)、用户数据文件夹(传null使用默认)。- 创建自定义的
- 让WebView2控件基于自定义环境完成初始化
await webView.EnsureCoreWebView2Async(environment);- 执行添加扩展操作
await webView.CoreWebView2.Profile.AddBrowserExtensionAsync(extensionPath);
注意事项
- 确保WebView2运行时版本足够新,旧版本可能不支持该配置项。
- 扩展路径需指向合法的CRX文件或扩展文件夹,否则仍可能触发其他异常。
内容的提问来源于stack exchange,提问作者Victor
相关产品推荐
相关产品推荐

