Condividi tramite


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 con myapp nella cartella della soluzione folder1/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 di dotnet 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:

    Esplora soluzioni che mostra i progetti di libreria di classi raggruppati in una cartella della soluzione.

Vedere anche