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

.NET 6应用(app2)被外部调用时WebView2无法导航指定URL

问题分析与解决方案

核心问题出在WebView2环境初始化的路径设置上:当app1启动app2时,app2的当前工作目录会继承自app1,而非app2自身的安装目录。你用Directory.GetCurrentDirectory()获取路径创建CoreWebView2Environment,会导致WebView2找不到正确的运行时依赖,最终加载失败显示空白。

修复步骤

将路径获取方式替换为app2自身的程序目录,确保无论启动方式如何,路径都准确:

修改后的代码

private async Task InitializeWebView2()
{
    var webview = new WebView2();
    myPanel.Children.Add(webview);
    // 使用程序自身的目录,而非当前工作目录
    var appDir = AppContext.BaseDirectory;
    var env = await CoreWebView2Environment.CreateAsync(appDir);
    await webview.EnsureCoreWebView2Async(env);
    string someUrl = "http://google.com"; 
    webview.Source = new Uri(someUrl);
}

额外排查点

  • 若问题仍存在,检查app1启动app2的代码,确认是否强制指定了错误的工作目录(比如Process.Start时设置了WorkingDirectory参数)
  • 确保app2的安装目录下存在WebView2运行时的相关文件(如果使用的是捆绑版运行时,而非系统安装版)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 22:30:53