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.

Riepilogo

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, il file di soluzione deve essere già esistente. Se è necessario crearne uno, usare il comando dotnet new con il nome del modello 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 del 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 di soluzione da usare. Se questo argomento viene omesso, il comando ne cerca uno nella directory corrente. Se non trova alcun file di soluzione o più file di soluzione, il comando ha esito negativo.

Opzioni

  • -?|-h|--help

    Stampa una descrizione dell'uso del comando.

Comandi

list

Elenca tutti i progetti in un file di soluzione.

Riepilogo

dotnet sln list [-h|--help]

Argomenti

  • SOLUTION_FILE

    File di soluzione da usare. Se questo argomento viene omesso, il comando ne cerca uno nella directory corrente. Se non trova nessuno o più file di soluzione, il comando ha esito negativo.

Opzioni

  • -?|-h|--help

    Stampa una descrizione dell'uso del comando.

add

Aggiunge uno o più progetti al file di soluzione.

Riepilogo

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

Argomenti

  • SOLUTION_FILE

    File di soluzione da usare. Se non è specificato, il comando ne cerca uno nella directory corrente e se sono presenti più file di soluzione la ricerca ha esito negativo.

  • PROJECT_PATH

    Percorso del progetto o dei progetti da aggiungere alla soluzione. Le espansioni del criterio GLOBdella shell Unix/Linux 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 le cartelle della soluzione. Ad esempio, i comandi seguenti creano una soluzione che include myapp 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 --in-root o l'opzione -s|--solution-folder <PATH>.

Opzioni

  • -?|-h|--help

    Stampa una descrizione dell'uso del comando.

  • --in-root

    Inserisce i progetti nella radice della soluzione anziché creare una cartella della soluzione. Non può essere usato con -s|--solution-folder.

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

    Percorso della cartella della soluzione di destinazione a cui aggiungere i progetti. Non può essere usato con --in-root.

remove

Rimuove uno o più progetti dal file di soluzione.

Riepilogo

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

Argomenti

  • SOLUTION_FILE

    File di soluzione da usare. Se non è specificato, il comando ne cerca uno nella directory corrente e se sono presenti più file di soluzione la ricerca ha esito negativo.

  • PROJECT_PATH

    Percorso del progetto o dei progetti da rimuovere dalla soluzione. Le espansioni del criterio GLOBdella shell Unix/Linux vengono elaborate correttamente dal comando dotnet sln.

Opzioni

  • -?|-h|--help

    Stampa una descrizione dell'uso del comando.

Esempi

  • Elencare i progetti di una soluzione:

    dotnet sln todo.sln 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.sln add todo-app/todo-app.csproj back-end/back-end.csproj --in-root
    
  • Aggiungere più progetti C# a una soluzione:

    dotnet sln todo.sln add todo-app/todo-app.csproj back-end/back-end.csproj
    
  • Rimuovere più progetti C# da una soluzione:

    dotnet sln todo.sln remove todo-app/todo-app.csproj back-end/back-end.csproj
    
  • Aggiungere più progetti C# a una soluzione usando un criterio GLOB (solo Unix/Linux):

    dotnet sln todo.sln add **/*.csproj
    
  • Aggiungere più progetti C# a una soluzione usando un criterio GLOB (solo Windows PowerShell):

    dotnet sln todo.sln add (ls -r **/*.csproj)
    
  • Rimuovere più progetti C# da una soluzione usando un criterio GLOB (solo Unix/Linux):

    dotnet sln todo.sln remove **/*.csproj
    
  • Rimuovere più progetti C# da una soluzione usando un criterio GLOB (solo Windows PowerShell):

    dotnet sln todo.sln remove (ls -r **/*.csproj)
    
  • Creare una soluzione, un'app console e due librerie di classi. Aggiungere i progetti alla soluzione e usare l’--solution-folderopzione 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.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
    

    Lo screenshot seguente mostra il risultato in Esplora soluzioni di Visual Studio 2019:

    Solution Explorer showing class library projects grouped into a solution folder.

Vedi anche