Electron.NET调用CreateWindowAsync未使用指定端口问题排查
Electron.NET 加载URL端口丢失问题排查
可能的原因及解决方法
配置文件覆盖参数
检查项目根目录的electron.manifest.json文件,若其中startUrl字段设为http://localhost/,会覆盖Program.cs中传入的带端口URL。将该字段修改为http://localhost:5001即可。CreateWindowAsync调用格式错误
确认Program.cs中的调用逻辑是否正确,正确写法应将URL作为第二个独立参数传入,而非嵌入BrowserWindowOptions:await Electron.WindowManager.CreateWindowAsync(new BrowserWindowOptions { Width = 1200, Height = 800, WebPreferences = new WebPreferences { NodeIntegration = true } }, "http://localhost:5001");服务启动顺序问题
若Electron窗口在ASP.NET Core服务完全就绪前创建,可能触发内部 fallback 逻辑使用默认地址。可在创建窗口前添加延迟,或监听服务启动完成事件:var host = CreateHostBuilder(args).Build(); await host.StartAsync(); // 服务启动完成后再创建窗口 await Electron.WindowManager.CreateWindowAsync(options, "http://localhost:5001"); await host.WaitForShutdownAsync();版本兼容性bug
旧版Electron.NET存在URL解析问题,尝试升级ElectronNET.API和ElectronNET.CLI到最新稳定版,重新生成项目后再测试。
内容的提问来源于stack exchange,提问作者Paul
相关产品推荐
相关产品推荐

