Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo se aplica a: ✔️ SDK do .NET 6 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
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 .slnx na pasta atual, com o mesmo nome da pasta:
dotnet new sln
O exemplo a seguir cria um arquivo .slnx na pasta atual, com o nome do arquivo especificado:
dotnet new sln --name MySolution
O exemplo a seguir cria um arquivo .slnx na pasta especificada, com o mesmo nome da pasta:
dotnet new sln --output MySolution
Observação
No .NET 9 e versões anteriores, dotnet new sln cria um arquivo .sln em vez de um arquivo .slnx .
Argumentos
SOLUTION_FILEO 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|--helpImprime 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
dotnet sln list [-h|--help]
Argumentos
SOLUTION_FILEO arquivo de solução (arquivo .sln ou .slnx ) ou o filtro de solução (arquivo.slnf ) a ser usado.
Se não for especificado, o comando pesquisa o diretório atual em busca de um arquivo .sln, .slnx ou .slnf e, se encontrar exatamente um, usará esse arquivo. Se vários arquivos ou filtros de solução forem encontrados, o usuário será solicitado a especificar um arquivo explicitamente. Se nenhum for encontrado, o comando falhará.
(O suporte para arquivos .slnf foi adicionado ao SDK do .NET 9.0.3xx.)
Opções
-
-?|-h|--helpImprime uma descrição de como usar o comando.
add
Adiciona um ou mais projetos ao 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_FILEO 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_PATHO 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_PATHincluir 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 commyappna pasta de soluçãofolder1/folder2:dotnet new sln dotnet new console --output folder1/folder2/myapp dotnet sln add folder1/folder2/myappVocê pode substituir esse comportamento padrão usando o
--in-rootou a opção-s|--solution-folder <PATH>.
Opções
-
-?|-h|--helpImprime uma descrição de como usar o comando.
--in-rootColoca 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
dotnet sln [<SOLUTION_FILE>] remove <PROJECT_PATH|PROJECT_NAME> [<PROJECT_PATH|PROJECT_NAME>...]
dotnet sln [<SOLUTION_FILE>] remove [-h|--help]
Argumentos
SOLUTION_FILEO 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_PATHouPROJECT_NAMEO caminho para, ou o nome do 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.Se um nome de projeto for fornecido em vez de um caminho, o projeto na solução que corresponde ao nome, independentemente de seu caminho, será removido. Se mais de um projeto correspondente for encontrado na solução, o comando errou. Omita a extensão do arquivo de projeto no nome. (O suporte para remover projetos por nome foi adicionado ao .NET 10.)
Opções
-
-?|-h|--helpImprime uma descrição de como usar o comando.
migrate
Gera um arquivo de solução .slnx .slnx de um arquivo de .sln.
Sinopse
dotnet sln [<SOLUTION_FILE>] migrate
dotnet sln [<SOLUTION_FILE>] migrate [-h|--help]
Argumentos
SOLUTION_FILEO 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|--helpImprime uma descrição de como usar o comando.
Exemplos
Liste os projetos em uma solução:
dotnet sln todo.slnx listAdicione um projeto C# a uma solução:
dotnet sln add todo-app/todo-app.csprojRemova um projeto C# de uma solução:
dotnet sln remove todo-app/todo-app.csprojAdicione vários projetos C# à raiz de uma solução:
dotnet sln todo.slnx add todo-app/todo-app.csproj back-end/back-end.csproj --in-rootAdicione vários projetos C# a uma solução:
dotnet sln todo.slnx add todo-app/todo-app.csproj back-end/back-end.csprojRemova vários projetos C# de uma solução:
dotnet sln todo.slnx remove todo-app/todo-app.csproj back-end/back-end.csprojAdicione vários projetos C# a uma solução usando um padrão de globbing (somente Unix/Linux):
dotnet sln todo.slnx add **/*.csprojAdicione vários projetos C# a uma solução usando um padrão de globbing (somente Windows PowerShell):
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):
dotnet sln todo.slnx remove **/*.csprojRemova vários projetos C# de uma solução usando um padrão de globbing (somente Windows PowerShell):
dotnet sln todo.slnx remove (ls -r **/*.csproj)Gere um arquivo .slnx de um arquivo de .sln:
dotnet sln todo.sln migrateCrie uma solução, um aplicativo de console e duas bibliotecas de classes. Adicione os projetos à solução e use a opção
--solution-folderdedotnet slnpara organizar as bibliotecas de classes 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.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 mylibsA captura de tela a seguir mostra o resultado no Visual Studio 2019 Solution Explorer: