Команда dotnet sln предоставляет удобный способ перечисления и изменения проектов в файле решения.
Создание файла решения
Чтобы использовать команду dotnet sln, файл решения должен уже существовать. Если необходимо создать его, используйте команду dotnet dotnet new с именем шаблона sln.
В следующем примере создается файл .sln в текущей папке с тем же именем, что и папка:
dotnet new sln
В следующем примере создается файл .sln в текущей папке с указанным именем файла:
dotnet new sln --name MySolution
В следующем примере создается файл .sln в указанной папке с тем же именем, что и папка:
dotnet new sln --output MySolution
Аргументы
SOLUTION_FILE
Используемый файл решения (.sln или SLNX-файл).
Если не указано, команда выполняет поиск текущего каталога для .sln или SLNX-файла и, если он находит именно один, использует этот файл. Если найдено несколько файлов решения, пользователю будет предложено явно указать файл. Если ни один из них не найден, команда завершается ошибкой.
Если не указано, команда выполняет поиск текущего каталога для .sln или SLNX-файла и, если он находит именно один, использует этот файл. Если найдено несколько файлов решения, пользователю будет предложено явно указать файл. Если ни один из них не найден, команда завершается ошибкой.
Параметры
-?|-h|--help
Выводит описание использования команды.
add
Добавляет один или несколько проектов в файл решения.
Если не указано, команда выполняет поиск текущего каталога для .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
Удаляет проект или несколько проектов из файла решения.
Если не указано, команда выполняет поиск текущего каталога для .sln или SLNX-файла и, если он находит именно один, использует этот файл. Если найдено несколько файлов решения, пользователю будет предложено явно указать файл. Если ни один из них не найден, команда завершается ошибкой.
PROJECT_PATH
Путь к проекту или проектам для удаления из решения. Оболочка Unix/Linux шаблоны расширения обрабатываются правильно командой dotnet 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# в корневой каталог решения:
Добавьте несколько проектов 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, где также можно создавать и просматривать проблемы и запросы на вытягивание. Дополнительные сведения см. в нашем руководстве для участников.
Отзыв о .NET
.NET — это проект с открытым исходным кодом. Выберите ссылку, чтобы оставить отзыв:
Присоединитесь к серии встреч для создания масштабируемых решений искусственного интеллекта на основе реальных вариантов использования с другими разработчиками и экспертами.