Dela via


dotnet sln

Den här artikeln gäller för: ✔️ .NET Core 3.1 SDK och senare versioner

Namn

dotnet sln – Visar eller ändrar projekten i en .NET-lösningsfil eller migrerar filen till en .slnx- fil.

Sammanfattning

dotnet sln [<SOLUTION_FILE>] [command]

dotnet sln [command] -h|--help

Beskrivning

Kommandot dotnet sln är ett praktiskt sätt att lista och ändra projekt i en lösningsfil.

Skapa en lösningsfil

Om du vill använda kommandot dotnet sln måste lösningsfilen redan finnas. Om du behöver skapa en använder du kommandot dotnet new med sln mallnamn.

I följande exempel skapas en .sln fil i den aktuella mappen med samma namn som mappen:

dotnet new sln

I följande exempel skapas en .sln fil i den aktuella mappen med det angivna filnamnet:

dotnet new sln --name MySolution

I följande exempel skapas en .sln fil i den angivna mappen med samma namn som mappen:

dotnet new sln --output MySolution

Argument

  • SOLUTION_FILE

    Lösningsfilen som ska användas (antingen en .sln- eller .slnx--fil).

    Om det är ospecificerat söker kommandot i den aktuella katalogen efter en .sln eller .slnx- fil och använder filen om den hittar exakt en. Om flera lösningsfiler hittas uppmanas användaren att uttryckligen ange en fil. Om inget hittas misslyckas kommandot.

Alternativ

  • -?|-h|--help

    Skriver ut en beskrivning av hur du använder kommandot.

Kommandon

Följande kommandon är tillgängliga:

list

Visar en lista över alla projekt i en lösningsfil.

Sammanfattning

dotnet sln list [-h|--help]

Argument

  • SOLUTION_FILE

    Lösningsfilen som ska användas (antingen en .sln- eller .slnx--fil).

    Om det är ospecificerat söker kommandot i den aktuella katalogen efter en .sln eller .slnx- fil och använder filen om den hittar exakt en. Om flera lösningsfiler hittas uppmanas användaren att uttryckligen ange en fil. Om inget hittas misslyckas kommandot.

Alternativ

  • -?|-h|--help

    Skriver ut en beskrivning av hur du använder kommandot.

add

Lägger till ett eller flera projekt i lösningsfilen.

Sammanfattning

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

Argument

  • SOLUTION_FILE

    Lösningsfilen som ska användas (antingen en .sln- eller .slnx--fil).

    Om det är ospecificerat söker kommandot i den aktuella katalogen efter en .sln eller .slnx- fil och använder filen om den hittar exakt en. Om flera lösningsfiler hittas uppmanas användaren att uttryckligen ange en fil. Om inget hittas misslyckas kommandot.

  • PROJECT_PATH

    Sökvägen till projektet eller projekten som ska läggas till i lösningen. Unix/Linux-gränssnittet globbningsmönster expansioner bearbetas korrekt av kommandot dotnet sln.

    Om PROJECT_PATH innehåller mappar som innehåller projektmappen används den delen av sökvägen för att skapa lösningsmappar. Följande kommandon skapar till exempel en lösning med myapp i lösningsmappen folder1/folder2:

    dotnet new sln
    dotnet new console --output folder1/folder2/myapp
    dotnet sln add folder1/folder2/myapp
    

    Du kan åsidosätta det här standardbeteendet med hjälp av alternativet --in-root eller -s|--solution-folder <PATH>.

Alternativ

  • -?|-h|--help

    Skriver ut en beskrivning av hur du använder kommandot.

  • --in-root

    Placerar projekten i lösningens rot i stället för att skapa en lösningsmapp. Det går inte att använda med -s|--solution-folder.

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

    Målmappen lösning sökväg att lägga till projekten i. Det går inte att använda med --in-root.

remove

Tar bort ett projekt eller flera projekt från lösningsfilen.

Sammanfattning

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

Argument

  • SOLUTION_FILE

    Lösningsfilen som ska användas (antingen en .sln- eller .slnx--fil).

    Om det är ospecificerat söker kommandot i den aktuella katalogen efter en .sln eller .slnx- fil och använder filen om den hittar exakt en. Om flera lösningsfiler hittas uppmanas användaren att uttryckligen ange en fil. Om inget hittas misslyckas kommandot.

  • PROJECT_PATH

    Sökvägen till projektet eller projekten som du vill ta bort från lösningen. Unix/Linux-gränssnittet globbningsmönster expansioner bearbetas korrekt av kommandot dotnet sln.

Alternativ

  • -?|-h|--help

    Skriver ut en beskrivning av hur du använder kommandot.

migrate

Genererar en .slnx- lösningsfil från en .sln fil.

Sammanfattning

dotnet sln [<SOLUTION_FILE>] migrate
dotnet sln [<SOLUTION_FILE>] migrate [-h|--help]

Argument

  • SOLUTION_FILE

    Den .sln lösningsfil som ska migreras.

    Om det är ospecificerat söker kommandot i den aktuella katalogen efter en .sln fil och använder filen om den hittar exakt en. Om flera .sln filer hittas uppmanas användaren att uttryckligen ange en fil. Om inget hittas misslyckas kommandot.

    Om du anger en .slnx- fil i stället för en .sln fil, eller om det redan finns en .slnx- fil med samma filnamn (minus .sln filnamnstillägget) i katalogen, misslyckas kommandot.

Alternativ

  • -?|-h|--help

    Skriver ut en beskrivning av hur du använder kommandot.

Exempel

  • Lista projekten i en lösning:

    dotnet sln todo.slnx list
    
  • Lägg till ett C#-projekt i en lösning:

    dotnet sln add todo-app/todo-app.csproj
    
  • Ta bort ett C#-projekt från en lösning:

    dotnet sln remove todo-app/todo-app.csproj
    
  • Lägg till flera C#-projekt i roten för en lösning:

    dotnet sln todo.slnx add todo-app/todo-app.csproj back-end/back-end.csproj --in-root
    
  • Lägg till flera C#-projekt i en lösning:

    dotnet sln todo.slnx add todo-app/todo-app.csproj back-end/back-end.csproj
    
  • Ta bort flera C#-projekt från en lösning:

    dotnet sln todo.slnx remove todo-app/todo-app.csproj back-end/back-end.csproj
    
  • Lägg till flera C#-projekt i en lösning med hjälp av ett globbande mönster (endast Unix/Linux):

    dotnet sln todo.slnx add **/*.csproj
    
  • Lägg till flera C#-projekt i en lösning med hjälp av ett globbande mönster (endast Windows PowerShell):

    dotnet sln todo.slnx add (ls -r **/*.csproj)
    
  • Ta bort flera C#-projekt från en lösning med hjälp av ett globbande mönster (endast Unix/Linux):

    dotnet sln todo.slnx remove **/*.csproj
    
  • Ta bort flera C#-projekt från en lösning med hjälp av ett globbande mönster (endast Windows PowerShell):

    dotnet sln todo.slnx remove (ls -r **/*.csproj)
    
  • Generera en .slnx- fil från en .sln fil:

    dotnet sln todo.sln migrate
    
  • Skapa en lösning, en konsolapp och två klassbibliotek. Lägg till projekten i lösningen och använd alternativet --solution-folderdotnet sln för att organisera klassbiblioteken i en lösningsmapp.

    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
    

    Följande skärmbild visar resultatet i Visual Studio 2019 Solution Explorer:

    Solution Explorer som visar klassbiblioteksprojekt grupperade i en lösningsmapp.

Se även