VS2022调试时能否启动两个不同URL的浏览器标签页?
VS2022调试.NET 6 Web API时同时打开Swagger和Hangfire仪表板
问题场景
我维护一个.NET 6 Web API项目,后台用Hangfire做任务调度。在VS2022里调试时,希望启动浏览器能自动打开两个独立标签页:Swagger UI和Hangfire仪表板。试过在项目启动配置文件的Url项里填多个URL,但没起作用。
解决办法
目前VS2022默认的启动配置不支持直接配置多URL启动,不过可以通过两种方式实现需求:
方式1:代码里添加启动后打开浏览器的逻辑
在Program.cs中,构建完app实例后,针对开发环境添加打开浏览器的代码:
var app = builder.Build(); if (app.Environment.IsDevelopment()) { app.UseSwagger(); app.UseSwaggerUI(); // 启动Swagger标签页 _ = System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo { FileName = "cmd.exe", Arguments = "/c start http://localhost:5000/swagger", CreateNoWindow = true }); // 启动Hangfire仪表板标签页 _ = System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo { FileName = "cmd.exe", Arguments = "/c start http://localhost:5000/hangfire", CreateNoWindow = true }); }
提示:记得根据你项目实际的端口、协议(HTTP/HTTPS)以及Hangfire的路由前缀修改URL。
方式2:借助VS第三方扩展
去VS Marketplace搜类似"Multi URL Launch"的扩展,有些第三方工具支持配置调试启动时自动打开多个指定页面,能省去写代码的步骤。
后续跟进
我已经把「在VS启动配置文件中支持多URL设置」这个需求提交给官方,盼着后续版本能原生支持这个功能。
内容的提问来源于stack exchange,提问作者Christopher Rhoads
相关产品推荐
相关产品推荐

