如何使用 dotnet CLI(命令行)将项目 (.csproj) 添加到解决方案文件夹下的解决方案 (.sln)?

Kis*_*man 11 .net architecture command-line .net-core asp.net-core-cli

我正在尝试使用dotnet sln命令行将csproj 添加到 sln 。

使用以下命令可以轻松添加项目。

  dotnet sln todo.sln add todo-app/todo-app.csproj
Run Code Online (Sandbox Code Playgroud)

但是如何在解决方案文件夹下添加相同的内容

小智 19

按着这些次序:

  1. dotnet new sln --name "your solution name"
  2. dotnet sln add "path of your .csproj file along with the name"

示例:如果您的解决方案文件的名称是“MyProject.sln”并且 csproj 位于同一路径中,则

  1. dotnet new sln --name MyProject.sln
  2. dotnet sln add MyProject.csproj


Ali*_*eza 11

如果您使用 PowerShell 或 bash,下面的命令会很方便:

dotnet sln path_to_solution.sln add (ls -r **/*.csproj)
Run Code Online (Sandbox Code Playgroud)

或者简单地:

dotnet sln add (ls -r **/*.csproj)
Run Code Online (Sandbox Code Playgroud)

  • 使用 zsh 时也尝试 `$ dotnet sln add $(ls -r **/*.csproj)` (3认同)

Sur*_*raj 10

请尝试以下代码将项目从项目子文件夹添加到解决方案

dotnet sln ../todo.sln add todo-app.csproj 
Run Code Online (Sandbox Code Playgroud)

  • 添加评论链接的工具提示说要避免在评论中回答问题。 (6认同)

Eri*_*Liu 10

从 .NET Core 3 开始(预览,使用 3.0.100-preview7-X 进行测试)

dotnet sln solution.sln add --solution-folder foo1\foo2\foo3 bar.csproj

它创建了一个嵌套的层次结构

solution.sln
|
????foo1
?   ?
?   ????foo2
?       ?
?       ????foo3
?            ?   bar
?            ?   ...

Run Code Online (Sandbox Code Playgroud)

  • 这是这里唯一正确的答案,OP要求在特定的_解决方案文件夹_下添加项目 (2认同)