如何仅使用tasks.json中的一个命令在VS Code中构建所有C#项目?

cas*_*ash 9 .net c# visual-studio-code

在 VS Code 中,我有以下 C# 项目:

 - Common/Common.csproj
 - WebApi1/WebApi1.csproj
 - WebApi2/WebApi2.csproj
Run Code Online (Sandbox Code Playgroud)

我的tasks.json如下:

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build",
            "command": "dotnet",
            "type": "process",
            "args": [
                "build",
                "${workspaceFolder}/WebApi1/WebApi1.csproj"
            ],
            "problemMatcher": "$msCompile"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

当我点击调试选择 WebApi1 配置文件时,我launch.json运行任务build(在前面的代码部分中定义),并且该任务WebApi1.csproj与 一起构建项目Common.csproj,因为 Common 被定义为依赖项。

我的问题是:如何使用相同的任务来构建 WebApi1 和 WebApi2(以及 WebApi3、WebApi4 等),这意味着一个任务可以构建存储库中的所有项目。

我已经尝试过"${workspaceFolder}/**/*.csproj",但这种语法不被接受。

Pav*_*ski 14

作为一种可能的解决方案,您可以将所有项目放入一个解决方案中,并在构建任务中指定,类似这样

"tasks": [
        {
            "label": "build",
            "command": "dotnet",
            "type": "process",
            "args": [
                "build",
                "${workspaceFolder}/solution.sln"
            ],
            "problemMatcher": "$msCompile"
        }
    ]
Run Code Online (Sandbox Code Playgroud)