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

如何在VS Code中通过dotnet CLI同时运行ASP.NET Core Web API与Blazor WASM?

如何用dotnet CLI在VS Code中同时运行ASP.NET Core Web API和Blazor WASM项目

完全可以通过dotnet CLI和VS Code配置实现两个项目同时运行,以下是几种实用方案:

方案一:手动开启两个终端分别运行

这是最直接的方式,无需额外配置:

  • 打开VS Code并加载包含两个项目的解决方案文件夹
  • 打开第一个终端(Ctrl+`),导航到Web API项目目录:
    cd ./YourApiProjectName
    dotnet run
    
  • 打开第二个终端(点击终端面板的"+"号),导航到Blazor WASM项目目录:
    cd ./YourBlazorProjectName
    dotnet run
    
  • 注意:Blazor WASM默认使用独立端口,需确保前端Program.cs中的API地址配置正确,例如:
    builder.Services.AddScoped(sp => new HttpClient { BaseAddress = new Uri("https://localhost:5001") });
    
    端口号请匹配Web API项目launchSettings.json中的applicationUrl配置。

方案二:配置VS Code launch.json一键启动两个项目

通过配置调试文件,可实现点击一次按钮同时启动两个项目:

  1. 打开VS Code的运行和调试面板(Ctrl+Shift+D)
  2. 点击"创建launch.json文件",选择.NET环境
  3. 替换生成的launch.json内容为以下配置(注意替换项目名称和.NET版本):
    {
      "version": "0.2.0",
      "configurations": [
        {
          "name": "Web API",
          "type": "coreclr",
          "request": "launch",
          "program": "${workspaceFolder}/YourApiProject/bin/Debug/net8.0/YourApiProject.dll",
          "args": [],
          "cwd": "${workspaceFolder}/YourApiProject",
          "stopAtEntry": false,
          "serverReadyAction": {
            "action": "openExternally",
            "pattern": "\\bNow listening on:\\s+(https?://\\S+)"
          },
          "env": {
            "ASPNETCORE_ENVIRONMENT": "Development"
          }
        },
        {
          "name": "Blazor WASM",
          "type": "coreclr",
          "request": "launch",
          "program": "${workspaceFolder}/YourBlazorProject/bin/Debug/net8.0/YourBlazorProject.dll",
          "args": [],
          "cwd": "${workspaceFolder}/YourBlazorProject",
          "stopAtEntry": false,
          "serverReadyAction": {
            "action": "openExternally",
            "pattern": "\\bNow listening on:\\s+(https?://\\S+)"
          },
          "env": {
            "ASPNETCORE_ENVIRONMENT": "Development"
          }
        }
      ],
      "compounds": [
        {
          "name": "Run API + Blazor",
          "configurations": ["Web API", "Blazor WASM"],
          "stopAll": true
        }
      ]
    }
    
  4. 在运行面板的下拉菜单中选择"Run API + Blazor",点击启动按钮即可同时运行两个项目

方案三:使用dotnet watch实现热重载运行

如果需要代码改动后自动刷新/重启项目,用dotnet watch替代dotnet run:

  • 第一个终端:
    cd ./YourApiProjectName
    dotnet watch run
    
  • 第二个终端:
    cd ./YourBlazorProjectName
    dotnet watch run
    
    修改API或Blazor代码时,项目会自动重启或刷新页面,提升开发效率。

额外注意事项

  • 端口冲突:检查两个项目launchSettings.json中的applicationUrl,确保端口不重复(例如API用5001,Blazor用5002)
  • 跨域问题:如果Blazor是独立部署,需在Web API中配置跨域中间件,允许Blazor的访问地址:
    builder.Services.AddCors(options =>
    {
        options.AddPolicy("AllowBlazor", policy => 
            policy.WithOrigins("https://localhost:5002")
                  .AllowAnyHeader()
                  .AllowAnyMethod());
    });
    
    app.UseCors("AllowBlazor");
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 20:55:09