.Net Core构建解决方案

Fab*_*Fab 23 .net-core dotnet-cli

如果您尝试从使用visual studio制作的解决方案的顶级目录中的命令行运行:

dotnet build
Run Code Online (Sandbox Code Playgroud)

我的解决方案是这样的架构:

MySolution.sln
   > src
       > MyProject1
           > project.json
       > MyProject2
           > project.json
   > test
       > MyProject.Test
           > project.json
Run Code Online (Sandbox Code Playgroud)

它会因以下错误而失败:

Couldn't find 'project.json' in current directory
Run Code Online (Sandbox Code Playgroud)

如何构建解决方案而不必明确指定每个项目(然后没有相关的维护)?

Fab*_*Fab 32

您可以使用顶层目录中的通配符(位于.sln的位置).

  • 随着project.jsonSolutionDir/Src/ProjectName:

    dotnet build */**/project.json

  • 如果project.jsonSolutionDir/ProjectName:

    dotnet build **/project.json

  • 我不得不修改答案以使其正常工作:dotnet build**/project.json (4认同)

der*_*783 6

如果您来到此处寻找dotnet仅使用 CLI 参数来使用 CLI(版本 > 3.1)构建 SLN 的命令,则如下所示。

dotnet build <PATH>/<TO>/<SLN_FILE>.sln
Run Code Online (Sandbox Code Playgroud)

https://learn.microsoft.com/en-us/dotnet/core/tools/dotnet-build#arguments