dotnet sln

本文适用于: ✔️ .NET Core 3.1 SDK 及更高版本

“属性”

dotnet sln - 在 .NET 解决方案文件中列出或修改项目。

摘要

dotnet sln [<SOLUTION_FILE>] [command]

dotnet sln [command] -h|--help

描述

使用 dotnet sln 命令,可以便捷地在解决方案文件中列出和修改项目。

创建解决方案文件

若要使用 dotnet sln 命令,必须存在解决方案文件。 如果需要创建一个解决方案文件,请使用 dotnet new 命令,并使用模板名称 sln

以下示例在当前文件夹中创建一个 .sln 文件,其名称与文件夹相同:

dotnet new sln

以下示例在当前文件夹中创建一个 .sln 文件,使用指定文件名:

dotnet new sln --name MySolution

以下示例在指定文件夹中创建一个 .sln 文件,其名称与文件夹相同:

dotnet new sln --output MySolution

自变量

  • SOLUTION_FILE

    要使用的解决方案文件。 如果省略此参数,此命令会搜索当前目录来获取一个解决方案文件。 如果未找到解决方案文件或找到多个解决方案文件,则该命令将失败。

选项

  • -?|-h|--help

    打印出有关如何使用命令的说明。

命令

list

列出解决方案文件中的所有项目。

摘要

dotnet sln list [-h|--help]

自变量

  • SOLUTION_FILE

    要使用的解决方案文件。 如果省略此参数,此命令会搜索当前目录来获取一个解决方案文件。 如果未找到解决方案文件或找到多个解决方案文件,则该命令将失败。

选项

  • -?|-h|--help

    打印出有关如何使用命令的说明。

add

将一个或多个项目添加到解决方案文件。

摘要

dotnet sln [<SOLUTION_FILE>] add [--in-root] [-s|--solution-folder <PATH>] <PROJECT_PATH> [<PROJECT_PATH>...]
dotnet sln add [-h|--help]

自变量

  • SOLUTION_FILE

    要使用的解决方案文件。 如果未指定,此命令会搜索当前目录以获取一个解决方案文件,如果找到多个解决方案文件,则该命令将失败。

  • PROJECT_PATH

    要添加到解决方案的一个或多个项目的路径。 Unix/Linux shell glob 模式扩展由 dotnet sln 命令正确处理。

    如果 PROJECT_PATH 包括含项目文件夹的文件夹,则路径的该部分将用于创建解决方案文件夹。 例如,以下命令在解决方案文件夹 folder1/folder2 中使用 myapp 创建解决方案:

    dotnet new sln
    dotnet new console --output folder1/folder2/myapp
    dotnet sln add folder1/folder2/myapp
    

    使用 --in-root-s|--solution-folder <PATH> 选项可重写此默认行为。

选项

  • -?|-h|--help

    打印出有关如何使用命令的说明。

  • --in-root

    将项目放在解决方案的根目录下,而不是创建解决方案文件夹。 无法与 -s|--solution-folder 一起使用。

  • -s|--solution-folder <PATH>

    要将项目添加到的目标解决方案文件夹路径。 无法与 --in-root 一起使用。

remove

从解决方案文件中删除一个或多个项目。

摘要

dotnet sln [<SOLUTION_FILE>] remove <PROJECT_PATH> [<PROJECT_PATH>...]
dotnet sln [<SOLUTION_FILE>] remove [-h|--help]

自变量

  • SOLUTION_FILE

    要使用的解决方案文件。 如果未指定,此命令会搜索当前目录以获取一个解决方案文件,如果找到多个解决方案文件,则该命令将失败。

  • PROJECT_PATH

    要从解决方案中删除的一个或多个项目的路径。 Unix/Linux shell glob 模式扩展由 dotnet sln 命令正确处理。

选项

  • -?|-h|--help

    打印出有关如何使用命令的说明。

示例

  • 在解决方案中列出项目:

    dotnet sln todo.sln list
    
  • 将一个 C# 项目添加到解决方案中:

    dotnet sln add todo-app/todo-app.csproj
    
  • 从解决方案中删除一个 C# 项目:

    dotnet sln remove todo-app/todo-app.csproj
    
  • 将多个 C# 项目添加到解决方案的根目录中:

    dotnet sln todo.sln add todo-app/todo-app.csproj back-end/back-end.csproj --in-root
    
  • 将多个 C# 项目添加到解决方案中:

    dotnet sln todo.sln add todo-app/todo-app.csproj back-end/back-end.csproj
    
  • 从解决方案中删除多个 C# 项目:

    dotnet sln todo.sln remove todo-app/todo-app.csproj back-end/back-end.csproj
    
  • 使用 glob 模式(仅限 Unix/Linux)将多个 C# 项目添加到解决方案中:

    dotnet sln todo.sln add **/*.csproj
    
  • 使用 globbing 模式(仅限 Windows PowerShell)将多个 C# 项目添加到解决方案中:

    dotnet sln todo.sln add (ls -r **/*.csproj)
    
  • 使用 glob 模式(仅限 Unix/Linux)将多个 C# 项目从解决方案中删除:

    dotnet sln todo.sln remove **/*.csproj
    
  • 使用 globbing 模式(仅限 Windows PowerShell)将多个 C# 项目从解决方案中删除:

    dotnet sln todo.sln remove (ls -r **/*.csproj)
    
  • 创建解决方案、控制台应用和两个类库。 将项目添加到解决方案,并使用 dotnet sln--solution-folder 选项将类库组织到一个解决方案文件夹中。

    dotnet new sln -n mysolution
    dotnet new console -o myapp
    dotnet new classlib -o mylib1
    dotnet new classlib -o mylib2
    dotnet sln mysolution.sln add myapp\myapp.csproj
    dotnet sln mysolution.sln add mylib1\mylib1.csproj --solution-folder mylibs
    dotnet sln mysolution.sln add mylib2\mylib2.csproj --solution-folder mylibs
    

    以下屏幕截图显示了 Visual Studio 2019“解决方案资源管理器”中的结果:

    解决方案资源管理器显示了组合到解决方案文件夹中的类库项目。

另请参阅