dotnet sln
Эта статья относится к: ✔️ пакету SDK для .NET Core 3.1 и более поздних версий
name
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 правильно обрабатываются командой
dotnet sln
.Если
PROJECT_PATH
включает папки, содержащие папку проекта, эта часть пути используется для создания папок решения. Например, следующие команды создают решение сmyapp
в папке решенияfolder1/folder2
: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 правильно обрабатываются командой
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
Добавление нескольких проектов C# в решение с помощью стандартной маски (только Unix/Linux):
dotnet sln todo.sln add **/*.csproj
Добавление нескольких проектов C# в решение с помощью стандартной маски (только Windows PowerShell):
dotnet sln todo.sln add (ls -r **/*.csproj)
Удаление нескольких проектов C# из решения с помощью стандартной маски (только Unix/Linux):
dotnet sln todo.sln remove **/*.csproj
Удаление нескольких проектов C# из решения с помощью стандартной маски (только Windows PowerShell):
dotnet sln todo.sln remove (ls -r **/*.csproj)
Создайте решение, консольное приложение и две библиотеки классов. Добавьте проекты в решение и используйте параметр
--solution-folder
dotnet sln
, чтобы сгруппировать библиотеки классов в папку решения.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)