dotnet sln

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

Name

dotnet sln - Lista ou modifica os projetos num ficheiro de solução .NET.

Sinopse

dotnet sln [<SOLUTION_FILE>] [command]

dotnet sln [command] -h|--help

Description

O dotnet sln comando fornece uma forma conveniente de listar e modificar projetos num ficheiro de solução.

Criar um ficheiro de solução

Para utilizar o dotnet sln comando, o ficheiro de solução já tem de existir. Se precisar de criar um, utilize o novo comando dotnet com o nome do sln modelo.

O exemplo seguinte cria um ficheiro .sln na pasta atual, com o mesmo nome da pasta:

dotnet new sln

O exemplo seguinte cria um ficheiro .sln na pasta atual, com o nome de ficheiro especificado:

dotnet new sln --name MySolution

O exemplo seguinte cria um ficheiro .sln na pasta especificada, com o mesmo nome que a pasta:

dotnet new sln --output MySolution

Argumentos

  • SOLUTION_FILE

    O ficheiro de solução a utilizar. Se este argumento for omitido, o comando procura um no diretório atual. Se não encontrar nenhum ficheiro de solução ou vários ficheiros de solução, o comando falhará.

Opções

  • -?|-h|--help

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

Comandos

list

Lista todos os projetos num ficheiro de solução.

Sinopse

dotnet sln list [-h|--help]

Argumentos

  • SOLUTION_FILE

    O ficheiro de solução a utilizar. Se este argumento for omitido, o comando procura um no diretório atual. Se não encontrar nenhum ficheiro de solução ou vários ficheiros de solução, o comando falhará.

Opções

  • -?|-h|--help

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

add

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

Sinopse

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

Argumentos

  • SOLUTION_FILE

    O ficheiro de solução a utilizar. Se não for especificado, o comando procura um no diretório atual e falha se existirem vários ficheiros de solução.

  • PROJECT_PATH

    O caminho para o projeto ou projetos a adicionar à solução. As expansões do padrão de globbing da shell Unix/Linux são processadas corretamente pelo dotnet sln comando.

    Se PROJECT_PATH incluir pastas que contenham a pasta do projeto, essa parte do caminho é utilizada para criar pastas de solução. Por exemplo, os seguintes comandos criam uma solução com myapp na pasta folder1/folder2de soluções :

    dotnet new sln
    dotnet new console --output folder1/folder2/myapp
    dotnet sln add folder1/folder2/myapp
    

    Pode substituir este comportamento predefinido com a opção --in-root ou -s|--solution-folder <PATH> .

Opções

  • -?|-h|--help

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

  • --in-root

    Coloca os projetos na raiz da solução, em vez de criar uma pasta de solução. Não é possível utilizar com -s|--solution-folder.

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

    O caminho da pasta da solução de destino para adicionar os projetos. Não é possível utilizar com --in-root.

remove

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

Sinopse

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

Argumentos

  • SOLUTION_FILE

    O ficheiro de solução a utilizar. Se não for especificado, o comando procura um no diretório atual e falha se existirem vários ficheiros de solução.

  • PROJECT_PATH

    O caminho para o projeto ou projetos a remover da solução. As expansões do padrão de globbing da shell Unix/Linux são processadas corretamente pelo dotnet sln comando.

Opções

  • -?|-h|--help

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

Exemplos

  • Liste os projetos numa solução:

    dotnet sln todo.sln list
    
  • Adicionar um projeto C# a uma solução:

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

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

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

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

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

    dotnet sln todo.sln add **/*.csproj
    
  • Adicione vários projetos C# a uma solução com um padrão de regoziamento (apenas Windows PowerShell):

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

    dotnet sln todo.sln remove **/*.csproj
    
  • Remova vários projetos C# de uma solução com um padrão de globbing (apenas Windows PowerShell):

    dotnet sln todo.sln remove (ls -r **/*.csproj)
    
  • Crie uma solução, uma aplicação de consola e duas bibliotecas de classes. Adicione os projetos à solução e utilize a opção --solution-folder de organizar as bibliotecas de dotnet sln classes numa pasta de solução.

    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
    

    A captura de ecrã seguinte mostra o resultado no Visual Studio 2019 Explorador de Soluções:

    Explorador de Soluções a mostrar projetos de biblioteca de classes agrupados numa pasta de solução.

Ver também