dotnet sln
Questo articolo si applica a: ✔️ .NET Core 3.1 SDK e versioni successive
Nome
dotnet sln
: elenca o modifica i progetti in un file di soluzione .NET oppure esegue la migrazione del file in un file con estensione slnx.
Sinossi
dotnet sln [<SOLUTION_FILE>] [command]
dotnet sln [command] -h|--help
Descrizione
Il comando dotnet sln
offre un modo pratico per elencare e modificare i progetti in un file di soluzione.
Creare un file di soluzione
Per usare il comando dotnet sln
, è necessario che il file della soluzione esista già. Se è necessario crearne uno, usare il comando dotnet new con il nome del modello di sln
.
Nell'esempio seguente viene creato un file .sln nella cartella corrente, con lo stesso nome della cartella:
dotnet new sln
Nell'esempio seguente viene creato un file .sln nella cartella corrente con il nome file specificato:
dotnet new sln --name MySolution
Nell'esempio seguente viene creato un file .sln nella cartella specificata, con lo stesso nome della cartella:
dotnet new sln --output MySolution
Argomenti
SOLUTION_FILE
File della soluzione da usare (un file di .sln o con estensione slnx).
Se non specificato, il comando cerca nella directory corrente un .sln o file con estensione slnx e, se ne trova esattamente uno, usa tale file. Se vengono trovati più file di soluzione, all'utente viene richiesto di specificare un file in modo esplicito. Se non viene trovato alcun elemento, il comando ha esito negativo.
Opzioni
-?|-h|--help
Stampa una descrizione di come usare il comando .
Comandi
Sono disponibili i comandi seguenti:
list
Elenca tutti i progetti in un file di soluzione.
Sinossi
dotnet sln list [-h|--help]
Argomenti
SOLUTION_FILE
File della soluzione da usare (un file di .sln o con estensione slnx).
Se non specificato, il comando cerca nella directory corrente un .sln o file con estensione slnx e, se ne trova esattamente uno, usa tale file. Se vengono trovati più file di soluzione, all'utente viene richiesto di specificare un file in modo esplicito. Se non viene trovato alcun elemento, il comando ha esito negativo.
Opzioni
-?|-h|--help
Stampa una descrizione di come usare il comando .
add
Aggiunge uno o più progetti al file della soluzione.
Sinossi
dotnet sln [<SOLUTION_FILE>] add [--in-root] [-s|--solution-folder <PATH>] <PROJECT_PATH> [<PROJECT_PATH>...]
dotnet sln add [-h|--help]
Argomenti
SOLUTION_FILE
File della soluzione da usare (un file di .sln o con estensione slnx).
Se non specificato, il comando cerca nella directory corrente un .sln o file con estensione slnx e, se ne trova esattamente uno, usa tale file. Se vengono trovati più file di soluzione, all'utente viene richiesto di specificare un file in modo esplicito. Se non viene trovato alcun elemento, il comando ha esito negativo.
PROJECT_PATH
Percorso del progetto o dei progetti da aggiungere alla soluzione. Shell Unix/Linux modello globbing le espansioni vengono elaborate correttamente dal comando
dotnet sln
.Se
PROJECT_PATH
include cartelle che contengono la cartella del progetto, tale parte del percorso viene usata per creare cartelle della soluzione. Ad esempio, i comandi seguenti creano una soluzione conmyapp
nella cartella della soluzionefolder1/folder2
:dotnet new sln dotnet new console --output folder1/folder2/myapp dotnet sln add folder1/folder2/myapp
È possibile eseguire l'override di questo comportamento predefinito usando l'opzione
--in-root
o-s|--solution-folder <PATH>
.
Opzioni
-?|-h|--help
Stampa una descrizione di come usare il comando .
--in-root
Inserisce i progetti nella radice della soluzione anziché creare una cartella della soluzione . Non è possibile usare con
-s|--solution-folder
.-s|--solution-folder <PATH>
La cartella della soluzione di destinazione percorso a cui aggiungere i progetti. Non è possibile usare con
--in-root
.
remove
Rimuove un progetto o più progetti dal file della soluzione.
Sinossi
dotnet sln [<SOLUTION_FILE>] remove <PROJECT_PATH> [<PROJECT_PATH>...]
dotnet sln [<SOLUTION_FILE>] remove [-h|--help]
Argomenti
SOLUTION_FILE
File della soluzione da usare (un file di .sln o con estensione slnx).
Se non specificato, il comando cerca nella directory corrente un .sln o file con estensione slnx e, se ne trova esattamente uno, usa tale file. Se vengono trovati più file di soluzione, all'utente viene richiesto di specificare un file in modo esplicito. Se non viene trovato alcun elemento, il comando ha esito negativo.
PROJECT_PATH
Percorso del progetto o dei progetti da rimuovere dalla soluzione. Shell Unix/Linux modello globbing le espansioni vengono elaborate correttamente dal comando
dotnet sln
.
Opzioni
-?|-h|--help
Stampa una descrizione di come usare il comando .
migrate
Genera un file di soluzione con estensione slnx da un file di .sln.
Sinossi
dotnet sln [<SOLUTION_FILE>] migrate
dotnet sln [<SOLUTION_FILE>] migrate [-h|--help]
Argomenti
SOLUTION_FILE
File di soluzione .sln di cui eseguire la migrazione.
Se non specificato, il comando cerca nella directory corrente un file .sln e, se ne trova esattamente uno, usa tale file. Se vengono trovati più file .sln, all'utente viene richiesto di specificare un file in modo esplicito. Se non viene trovato alcun elemento, il comando ha esito negativo.
Se si specifica un file con estensione slnx anziché un file .sln oppure se nella directory esiste già un file con estensione slnx con lo stesso nome file (meno l'estensione .sln) esiste già nella directory.
Opzioni
-?|-h|--help
Stampa una descrizione di come usare il comando .
Esempi
Elencare i progetti in una soluzione:
dotnet sln todo.slnx list
Aggiungere un progetto C# a una soluzione:
dotnet sln add todo-app/todo-app.csproj
Rimuovere un progetto C# da una soluzione:
dotnet sln remove todo-app/todo-app.csproj
Aggiungere più progetti C# alla radice di una soluzione:
dotnet sln todo.slnx add todo-app/todo-app.csproj back-end/back-end.csproj --in-root
Aggiungere più progetti C# a una soluzione:
dotnet sln todo.slnx add todo-app/todo-app.csproj back-end/back-end.csproj
Rimuovere più progetti C# da una soluzione:
dotnet sln todo.slnx remove todo-app/todo-app.csproj back-end/back-end.csproj
Aggiungere più progetti C# a una soluzione usando un modello globbing (solo Unix/Linux):
dotnet sln todo.slnx add **/*.csproj
Aggiungere più progetti C# a una soluzione usando un modello globbing (solo Windows PowerShell):
dotnet sln todo.slnx add (ls -r **/*.csproj)
Rimuovere più progetti C# da una soluzione usando un modello globbing (solo Unix/Linux):
dotnet sln todo.slnx remove **/*.csproj
Rimuovere più progetti C# da una soluzione usando un modello glob (solo Windows PowerShell):
dotnet sln todo.slnx remove (ls -r **/*.csproj)
Generare un file con estensione slnx da un file .sln:
dotnet sln todo.sln migrate
Creare una soluzione, un'app console e due librerie di classi. Aggiungere i progetti alla soluzione e usare l'opzione
--solution-folder
didotnet sln
per organizzare le librerie di classi in una cartella della soluzione.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
Lo screenshot seguente mostra il risultato in Visual Studio 2019 Esplora soluzioni:
Vedere anche
- repository GitHub dotnet/sdk (origine dell'interfaccia della riga di comando .NET)