Ler em inglês

Compartilhar via


dotnet sln

Este artigo se aplica a: ✔️ SDK do .NET Core 3.1 e versões posteriores

Nome

dotnet sln - Lista ou modifica os projetos em um arquivo de solução .NET ou migra o arquivo para um arquivo .slnx . slnx.

Sinopse

CLI do .NET
dotnet sln [<SOLUTION_FILE>] [command]

dotnet sln [command] -h|--help

Descrição

O comando dotnet sln fornece uma maneira conveniente de listar e modificar projetos em um arquivo de solução.

Criar um arquivo de solução

Para usar o comando dotnet sln, o arquivo de solução já deve existir. Se você precisar criar um, use o comando dotnet new com o nome do modelo sln.

O exemplo a seguir cria um arquivo .sln na pasta atual, com o mesmo nome da pasta:

CLI do .NET
dotnet new sln

O exemplo a seguir cria um arquivo .sln na pasta atual, com o nome do arquivo especificado:

CLI do .NET
dotnet new sln --name MySolution

O exemplo a seguir cria um arquivo .sln na pasta especificada, com o mesmo nome da pasta:

CLI do .NET
dotnet new sln --output MySolution

Argumentos

  • SOLUTION_FILE

    O arquivo de solução a ser usado (um arquivo .sln ou .slnx).

    Se não for especificado, o comando pesquisará no diretório atual um arquivo .sln ou .slnx e, se encontrar exatamente um, usará esse arquivo. Se vários arquivos de solução forem encontrados, o usuário será solicitado a especificar um arquivo explicitamente. Se nenhum for encontrado, o comando falhará.

Opções

  • -?|-h|--help

    Imprime uma descrição de como usar o comando.

Comandos

Os seguintes comandos estão disponíveis:

list

Lista todos os projetos em um arquivo de solução.

Sinopse

CLI do .NET
dotnet sln list [-h|--help]

Argumentos

  • SOLUTION_FILE

    O arquivo de solução a ser usado (um arquivo .sln ou .slnx).

    Se não for especificado, o comando pesquisará no diretório atual um arquivo .sln ou .slnx e, se encontrar exatamente um, usará esse arquivo. Se vários arquivos de solução forem encontrados, o usuário será solicitado a especificar um arquivo explicitamente. Se nenhum for encontrado, o comando falhará.

Opções

  • -?|-h|--help

    Imprime uma descrição de como usar o comando.

add

Adiciona um ou mais projetos ao arquivo de solução.

Sinopse

CLI do .NET
dotnet sln [<SOLUTION_FILE>] add [--in-root] [-s|--solution-folder <PATH>] <PROJECT_PATH> [<PROJECT_PATH>...]
dotnet sln add [-h|--help]

Argumentos

  • SOLUTION_FILE

    O arquivo de solução a ser usado (um arquivo .sln ou .slnx).

    Se não for especificado, o comando pesquisará no diretório atual um arquivo .sln ou .slnx e, se encontrar exatamente um, usará esse arquivo. Se vários arquivos de solução forem encontrados, o usuário será solicitado a especificar um arquivo explicitamente. Se nenhum for encontrado, o comando falhará.

  • PROJECT_PATH

    O caminho para o projeto ou projetos a serem adicionados à solução. O shell unix/Linux expansões padrão de globbing são processados corretamente pelo comando dotnet sln.

    Se PROJECT_PATH incluir pastas que contêm a pasta do projeto, essa parte do caminho será usada para criar pastas de solução . Por exemplo, os comandos a seguir criam uma solução com myapp na pasta de solução folder1/folder2:

    CLI do .NET
    dotnet new sln
    dotnet new console --output folder1/folder2/myapp
    dotnet sln add folder1/folder2/myapp
    

    Você pode substituir esse comportamento padrão usando o --in-root ou a opção -s|--solution-folder <PATH>.

Opções

  • -?|-h|--help

    Imprime uma descrição de como usar o comando.

  • --in-root

    Coloca os projetos na raiz da solução, em vez de criar uma pasta de solução . Não pode ser usado com -s|--solution-folder.

  • -s|--solution-folder <PATH>

    O destino pasta de solução caminho para adicionar os projetos. Não pode ser usado com --in-root.

remove

Remove um projeto ou vários projetos do arquivo de solução.

Sinopse

CLI do .NET
dotnet sln [<SOLUTION_FILE>] remove <PROJECT_PATH> [<PROJECT_PATH>...]
dotnet sln [<SOLUTION_FILE>] remove [-h|--help]

Argumentos

  • SOLUTION_FILE

    O arquivo de solução a ser usado (um arquivo .sln ou .slnx).

    Se não for especificado, o comando pesquisará no diretório atual um arquivo .sln ou .slnx e, se encontrar exatamente um, usará esse arquivo. Se vários arquivos de solução forem encontrados, o usuário será solicitado a especificar um arquivo explicitamente. Se nenhum for encontrado, o comando falhará.

  • PROJECT_PATH

    O caminho para o projeto ou projetos a serem removidos da solução. O shell unix/Linux expansões padrão de globbing são processados corretamente pelo comando dotnet sln.

Opções

  • -?|-h|--help

    Imprime uma descrição de como usar o comando.

migrate

Gera um arquivo de solução .slnx .slnx de um arquivo de .sln.

Sinopse

CLI do .NET
dotnet sln [<SOLUTION_FILE>] migrate
dotnet sln [<SOLUTION_FILE>] migrate [-h|--help]

Argumentos

  • SOLUTION_FILE

    O arquivo de solução .sln a ser migrado.

    Se não for especificado, o comando pesquisará no diretório atual um arquivo .sln e, se encontrar exatamente um, usará esse arquivo. Se vários arquivos .sln forem encontrados, o usuário será solicitado a especificar um arquivo explicitamente. Se nenhum for encontrado, o comando falhará.

    Se você especificar um arquivo .slnx em vez de um arquivo .sln ou se um arquivo .slnx com o mesmo nome de arquivo (menos a extensão .sln) já existir no diretório, o comando falhará.

Opções

  • -?|-h|--help

    Imprime uma descrição de como usar o comando.

Exemplos

  • Liste os projetos em uma solução:

    CLI do .NET
    dotnet sln todo.slnx list
    
  • Adicione um projeto C# a uma solução:

    CLI do .NET
    dotnet sln add todo-app/todo-app.csproj
    
  • Remova um projeto C# de uma solução:

    CLI do .NET
    dotnet sln remove todo-app/todo-app.csproj
    
  • Adicione vários projetos C# à raiz de uma solução:

    CLI do .NET
    dotnet sln todo.slnx add todo-app/todo-app.csproj back-end/back-end.csproj --in-root
    
  • Adicione vários projetos C# a uma solução:

    CLI do .NET
    dotnet sln todo.slnx add todo-app/todo-app.csproj back-end/back-end.csproj
    
  • Remova vários projetos C# de uma solução:

    CLI do .NET
    dotnet sln todo.slnx remove todo-app/todo-app.csproj back-end/back-end.csproj
    
  • Adicione vários projetos C# a uma solução usando um padrão de globbing (somente Unix/Linux):

    CLI do .NET
    dotnet sln todo.slnx add **/*.csproj
    
  • Adicione vários projetos C# a uma solução usando um padrão de globbing (somente Windows PowerShell):

    CLI do .NET
    dotnet sln todo.slnx add (ls -r **/*.csproj)
    
  • Remova vários projetos C# de uma solução usando um padrão de globbing (somente Unix/Linux):

    CLI do .NET
    dotnet sln todo.slnx remove **/*.csproj
    
  • Remova vários projetos C# de uma solução usando um padrão de globbing (somente Windows PowerShell):

    CLI do .NET
    dotnet sln todo.slnx remove (ls -r **/*.csproj)
    
  • Gere um arquivo .slnx de um arquivo de .sln:

    CLI do .NET
    dotnet sln todo.sln migrate
    
  • Crie uma solução, um aplicativo de console e duas bibliotecas de classes. Adicione os projetos à solução e use a opção --solution-folder de dotnet sln para organizar as bibliotecas de classes em uma pasta de solução.

    CLI do .NET
    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
    

    A captura de tela a seguir mostra o resultado no Visual Studio 2019 Solution Explorer:

    Gerenciador de Soluções mostrando projetos de biblioteca de classes agrupados em uma pasta de solução.

Consulte também

  • de repositório GitHub do dotnet/sdk (origem da CLI do .NET)