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“解决方案资源管理器”中的结果:
另请参阅
- dotnet/sdk GitHub 存储库(.NET CLI 源)