Поделиться через


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-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.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.

    Обозреватель решений, показывающий проекты библиотек классов, сгруппированные в папке решения.

См. также