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.
Sinopse
dotnet sln [<SOLUTION_FILE>] [command]
dotnet sln [command] -h|--help
Descrição
O comando dotnet sln
oferece uma maneira conveniente de adicionar, remover e listar 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:
dotnet new sln
O exemplo a seguir cria um arquivo .sln na pasta atual, com o nome do arquivo especificado:
dotnet new sln --name MySolution
O exemplo a seguir cria um arquivo .sln na pasta especificada, com o mesmo nome da pasta:
dotnet new sln --output MySolution
Argumentos
SOLUTION_FILE
O arquivo de solução a ser usado. Se esse argumento for omitido, o comando pesquisará um no diretório atual. Se ele não encontrar nenhum arquivo de solução ou vários arquivos de solução, o comando falhará.
Opções
-?|-h|--help
Imprime uma descrição de como usar o comando.
Comandos
list
Lista todos os projetos em um arquivo de solução.
Sinopse
dotnet sln list [-h|--help]
Argumentos
SOLUTION_FILE
O arquivo de solução a ser usado. Se esse argumento for omitido, o comando pesquisará um no diretório atual. Se ele não encontrar nenhum arquivo de solução ou vários arquivos de solução, o comando falhará.
Opções
-?|-h|--help
Imprime uma descrição de como usar o comando.
add
Adicionar um ou mais projetos em um arquivo 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 arquivo de solução a ser usado. Se não for especificado, o comando pesquisará um no diretório atual e falhará se houver vários arquivos de solução.
PROJECT_PATH
O caminho para o projeto ou projetos a serem adicionados à solução. As expansões de padrão de globbing do shell Unix/Linux são processadas 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 seguintes comandos criam uma solução commyapp
na pasta de soluçãofolder1/folder2
:dotnet new sln dotnet new console --output folder1/folder2/myapp dotnet sln add folder1/folder2/myapp
É possível substituir esse comportamento usando a opção
--in-root
ou-s|--solution-folder <PATH>
.
Opções
-?|-h|--help
Imprime uma descrição de como usar o comando.
--in-root
Coloca o projeto 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 caminho da pasta de solução de destino ao qual adicionar os projetos. Não pode ser usado com
--in-root
.
remove
Remova um projeto ou vários projetos do arquivo da solução.
Sinopse
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. Se não for especificado, o comando pesquisará um no diretório atual e falhará se houver vários arquivos de solução.
PROJECT_PATH
O caminho para o projeto ou projetos a serem removidos da solução. As expansões de padrão de globbing do shell Unix/Linux são processadas corretamente pelo comando
dotnet sln
.
Opções
-?|-h|--help
Imprime uma descrição de como usar o comando.
Exemplos
Liste os projetos em uma solução:
dotnet sln todo.sln list
Adicione um projeto C# a uma solução:
dotnet sln add todo-app/todo-app.csproj
Remova 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 usando um padrão glob (somente Unix/Linux):
dotnet sln todo.sln add **/*.csproj
Adicione vários projetos C# a uma solução usando um padrão glob (somente Windows PowerShell):
dotnet sln todo.sln add (ls -r **/*.csproj)
Remova vários projetos C# de uma solução usando um padrão glob (somente Unix/Linux):
dotnet sln todo.sln remove **/*.csproj
Remova vários projetos C# de uma solução usando um padrão glob (somente Windows PowerShell):
dotnet sln todo.sln remove (ls -r **/*.csproj)
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
dedotnet sln
para organizar as bibliotecas de classe em uma 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 tela a seguir mostra o resultado no Gerenciador de Soluções do Visual Studio 2019:
Confira também
- repositório GitHub dotnet/sdk (origem da CLI do.NET)