You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于WebView2创建WinForm控件遇System.DllNotFoundException错误求助

解决WebView2Loader.dll加载失败问题

遇到System.DllNotFoundException(找不到WebView2Loader.dll),可以通过以下步骤排查修复:

  • 确认NuGet包配置
    确保已安装Microsoft.Web.WebView2 NuGet包(版本1.0.2151.40),并在项目中设置该包的复制本地属性为True,这样WebView2Loader.dll会被自动复制到项目输出目录(如bin/Debug/netxx)。同时检查输出目录下是否存在该DLL,以及对应的架构文件夹(x86/x64)是否与项目目标平台匹配。

  • 匹配Runtime与SDK架构
    当前WebView2 SDK 1.0.2151.40兼容Runtime 119.0.2151.97,但要保证Runtime的架构(x86/x64/ARM)和项目目标平台完全一致。比如项目目标平台是x64,就必须安装x64版本的WebView2 Runtime。

  • 优化初始化代码
    可以指定Runtime的具体安装路径来确保环境初始化时能正确定位依赖,代码示例:

private async void UserControl1_Load(object sender, EventArgs e)
{
    // 指定WebView2 Runtime的安装路径
    string runtimePath = @"C:\Program Files (x86)\Microsoft\EdgeWebView2\Application\119.0.2151.97";
    CoreWebView2Environment environment = await CoreWebView2Environment.CreateAsync(runtimePath);
    CoreWebView2Controller controller = await environment.CreateCoreWebView2ControllerAsync(_ParentWindowHandle);
    webview = controller.CoreWebView2;
    webview.Navigate("https://learn.microsoft.com/en-us/microsoft-edge/webview2/");
}

另外,初始化前需确保控件的窗口句柄已创建,避免因句柄未就绪引发异常。

  • 调整项目目标平台
    若项目设置为AnyCPU,勾选"首选32位"选项(对应32位Runtime);或直接将项目目标平台改为x86/x64,与WebView2 Runtime的架构严格匹配,避免架构不兼容导致DLL加载失败。

内容的提问来源于stack exchange,提问作者sampal Reddy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 19:06:15