Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Эта статья относится к: ✔️ пакету SDK для .NET 6 и более поздних версий
Имя
dotnet sln — перечисляет или изменяет проекты в файле решения .NET или переносит его в файл SLNX.
Синопсис
dotnet sln [<SOLUTION_FILE>] [command]
dotnet sln [command] -h|--help
Описание
Команда dotnet sln предоставляет удобный способ перечисления и изменения проектов в файле решения.
Создание файла решения
Чтобы использовать команду dotnet sln, файл решения должен уже существовать. Если необходимо создать его, используйте команду dotnet dotnet new с именем шаблона sln.
В следующем примере создается SLNX-файл в текущей папке с тем же именем, что и папка:
dotnet new sln
В следующем примере создается SLNX-файл в текущей папке с указанным именем файла:
dotnet new sln --name MySolution
В следующем примере создается SLNX-файл в указанной папке с тем же именем, что и папка:
dotnet new sln --output MySolution
Замечание
В .NET 9 и более ранних версиях dotnet new sln создается файл .sln вместо SLNX-файла .
Аргументы
SOLUTION_FILEИспользуемый файл решения (.sln или SLNX-файл).
Если не указано, команда выполняет поиск текущего каталога для .sln или SLNX-файла и, если он находит именно один, использует этот файл. Если найдено несколько файлов решения, пользователю будет предложено явно указать файл. Если ни один из них не найден, команда завершается ошибкой.
Параметры
-
-?|-h|--helpВыводит описание использования команды.
Команды
Доступны следующие команды:
list
Выводит список всех проектов в файле решения.
Синопсис
dotnet sln list [-h|--help]
Аргументы
SOLUTION_FILEФайл решения (.sln или SLNX-файл ) или фильтр решения (SLNF-файл ).
Если не указано, команда выполняет поиск текущего каталога для .sln, SLNX или SLNF-файла , а если он находит именно один, использует этот файл. Если найдено несколько файлов решения или фильтров, пользователю будет предложено явно указать файл. Если ни один из них не найден, команда завершается ошибкой.
(Поддержка SLNF-файлов добавлена в пакет SDK для .NET 9.0.3xx.)
Параметры
-
-?|-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Используемый файл решения (.sln или SLNX-файл).
Если не указано, команда выполняет поиск текущего каталога для .sln или SLNX-файла и, если он находит именно один, использует этот файл. Если найдено несколько файлов решения, пользователю будет предложено явно указать файл. Если ни один из них не найден, команда завершается ошибкой.
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_NAME> [<PROJECT_PATH|PROJECT_NAME>...]
dotnet sln [<SOLUTION_FILE>] remove [-h|--help]
Аргументы
SOLUTION_FILEИспользуемый файл решения (.sln или SLNX-файл).
Если не указано, команда выполняет поиск текущего каталога для .sln или SLNX-файла и, если он находит именно один, использует этот файл. Если найдено несколько файлов решения, пользователю будет предложено явно указать файл. Если ни один из них не найден, команда завершается ошибкой.
PROJECT_PATHилиPROJECT_NAMEПуть к проекту или проектам, которые нужно удалить из решения. Оболочка Unix/Linux шаблоны расширения обрабатываются правильно командой
dotnet sln.Если имя проекта указано вместо пути, проект в решении, который соответствует имени, независимо от его пути, удаляется. Если в решении найдено несколько соответствующих проектов, команда ошибается. Опустите расширение файла проекта в имени. (Добавлена поддержка удаления проектов по имени в .NET 10.)
Параметры
-
-?|-h|--helpВыводит описание использования команды.
migrate
Создает файл решения .slnx из файла .sln.
Синопсис
dotnet sln [<SOLUTION_FILE>] migrate
dotnet sln [<SOLUTION_FILE>] migrate [-h|--help]
Аргументы
SOLUTION_FILEФайл решения .sln для миграции.
Если не указано, команда выполняет поиск текущего каталога для файла .sln и, если он находит именно один, использует этот файл. Если найдено несколько .sln файлов, пользователю будет предложено явно указать файл. Если ни один из них не найден, команда завершается ошибкой.
Если указать SLNX-файл вместо файла .sln или если в каталоге уже существует SLN X-файл с тем же именем файла (минус расширением .sln), команда завершается ошибкой.
Параметры
-
-?|-h|--helpВыводит описание использования команды.
Примеры
Вывод списка проектов в решении:
dotnet sln todo.slnx listДобавьте проект C# в решение:
dotnet sln add todo-app/todo-app.csprojУдалите проект C# из решения:
dotnet sln remove todo-app/todo-app.csprojДобавьте несколько проектов C# в корневой каталог решения:
dotnet sln todo.slnx add todo-app/todo-app.csproj back-end/back-end.csproj --in-rootДобавьте несколько проектов C# в решение:
dotnet sln todo.slnx add todo-app/todo-app.csproj back-end/back-end.csprojУдалите несколько проектов C# из решения:
dotnet sln todo.slnx remove todo-app/todo-app.csproj back-end/back-end.csprojДобавьте несколько проектов C# в решение с помощью шаблона глоббинга (только Для Unix/Linux):
dotnet sln todo.slnx add **/*.csprojДобавьте несколько проектов C# в решение с помощью шаблона глоббинга (только Для Windows PowerShell):
dotnet sln todo.slnx add (ls -r **/*.csproj)Удалите несколько проектов C# из решения с помощью шаблона глоббинга (только для Unix/Linux):
dotnet sln todo.slnx remove **/*.csprojУдалите несколько проектов C# из решения с помощью шаблона глоббинга (только Для Windows PowerShell):
dotnet sln todo.slnx remove (ls -r **/*.csproj)Создайте SLNX-файл из файла .sln:
dotnet sln todo.sln migrateСоздайте решение, консольное приложение и две библиотеки классов. Добавьте проекты в решение и используйте параметр
--solution-folderdotnet slnдля упорядочивания библиотек классов в папку решения.dotnet new sln -n mysolution dotnet new console -o myapp dotnet new classlib -o mylib1 dotnet new classlib -o mylib2 dotnet sln mysolution.slnx add myapp\myapp.csproj dotnet sln mysolution.slnx add mylib1\mylib1.csproj --solution-folder mylibs dotnet sln mysolution.slnx add mylib2\mylib2.csproj --solution-folder mylibsНа следующем снимке экрана показан результат в обозревателе решений Visual Studio 2019:
См. также
- репозиторий GitHub dotnet/sdk (источник.NET CLI)