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
打印出有关如何使用命令的说明。
列出解决方案文件中的所有项目。
dotnet sln list [-h|--help]
SOLUTION_FILE
要使用的解决方案文件。 如果省略此参数,此命令会搜索当前目录来获取一个解决方案文件。 如果未找到解决方案文件或找到多个解决方案文件,则该命令将失败。
-?|-h|--help
打印出有关如何使用命令的说明。
将一个或多个项目添加到解决方案文件。
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
创建解决方案:.NET CLIdotnet 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
一起使用。
从解决方案文件中删除一个或多个项目。
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
打印出有关如何使用命令的说明。
在解决方案中列出项目:
.NET CLIdotnet sln todo.sln list
将一个 C# 项目添加到解决方案中:
.NET CLIdotnet sln add todo-app/todo-app.csproj
从解决方案中删除一个 C# 项目:
.NET CLIdotnet sln remove todo-app/todo-app.csproj
将多个 C# 项目添加到解决方案的根目录中:
.NET CLIdotnet sln todo.sln add todo-app/todo-app.csproj back-end/back-end.csproj --in-root
将多个 C# 项目添加到解决方案中:
.NET CLIdotnet sln todo.sln add todo-app/todo-app.csproj back-end/back-end.csproj
从解决方案中删除多个 C# 项目:
.NET CLIdotnet sln todo.sln remove todo-app/todo-app.csproj back-end/back-end.csproj
使用 glob 模式(仅限 Unix/Linux)将多个 C# 项目添加到解决方案中:
.NET CLIdotnet sln todo.sln add **/*.csproj
使用 globbing 模式(仅限 Windows PowerShell)将多个 C# 项目添加到解决方案中:
.NET CLIdotnet sln todo.sln add (ls -r **/*.csproj)
使用 glob 模式(仅限 Unix/Linux)将多个 C# 项目从解决方案中删除:
.NET CLIdotnet sln todo.sln remove **/*.csproj
使用 globbing 模式(仅限 Windows PowerShell)将多个 C# 项目从解决方案中删除:
.NET CLIdotnet sln todo.sln remove (ls -r **/*.csproj)
创建解决方案、控制台应用和两个类库。 将项目添加到解决方案,并使用
dotnet sln
的--solution-folder
选项将类库组织到一个解决方案文件夹中。.NET CLIdotnet 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“解决方案资源管理器”中的结果:
- dotnet/sdk GitHub 存储库(.NET CLI 源)