Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här artikeln gäller för: ✔️ .NET 6 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 .slnx-fil i den aktuella mappen med samma namn som mappen:
dotnet new sln
I följande exempel skapas en .slnx-fil i den aktuella mappen med det angivna filnamnet:
dotnet new sln --name MySolution
I följande exempel skapas en .slnx-fil i den angivna mappen med samma namn som mappen:
dotnet new sln --output MySolution
Anmärkning
I .NET 9 och tidigare versioner dotnet new sln skapar en .sln fil i stället för en .slnx-fil .
Argument
SOLUTION_FILELö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|--helpSkriver 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_FILELösningsfilen (.sln - eller .slnx-filen ) eller lösningsfiltret (.slnf-fil ) som ska användas.
Om det är ospecificerat söker kommandot i den aktuella katalogen efter en .sln-, .slnx- eller .slnf-fil och använder filen om den hittar exakt en. Om flera lösningsfiler eller filter hittas uppmanas användaren att uttryckligen ange en fil. Om inget hittas misslyckas kommandot.
(Stöd för .slnf-filer lades till i .NET SDK 9.0.3xx.)
Alternativ
-?|-h|--helpSkriver 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_FILELö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_PATHSö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_PATHinnehå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 medmyappi lösningsmappenfolder1/folder2:dotnet new sln dotnet new console --output folder1/folder2/myapp dotnet sln add folder1/folder2/myappDu kan åsidosätta det här standardbeteendet med hjälp av alternativet
--in-rooteller-s|--solution-folder <PATH>.
Alternativ
-?|-h|--helpSkriver ut en beskrivning av hur du använder kommandot.
--in-rootPlacerar 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_NAME> [<PROJECT_PATH|PROJECT_NAME>...]
dotnet sln [<SOLUTION_FILE>] remove [-h|--help]
Argument
SOLUTION_FILELö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_PATHellerPROJECT_NAMESökvägen till eller namnet på projektet eller projekten som ska tas bort från lösningen. Unix/Linux-gränssnittet globbningsmönster expansioner bearbetas korrekt av kommandot
dotnet sln.Om ett projektnamn anges i stället för en sökväg tas projektet i lösningen som matchar namnet, oavsett sökväg, bort. Om mer än ett matchande projekt hittas i lösningen felar kommandot ut. Utelämna projektfiltillägget i namnet. (Stöd för att ta bort projekt med namn lades till i .NET 10.)
Alternativ
-?|-h|--helpSkriver 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_FILEDen .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|--helpSkriver ut en beskrivning av hur du använder kommandot.
Exempel
Lista projekten i en lösning:
dotnet sln todo.slnx listLägg till ett C#-projekt i en lösning:
dotnet sln add todo-app/todo-app.csprojTa bort ett C#-projekt från en lösning:
dotnet sln remove todo-app/todo-app.csprojLä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-rootLägg till flera C#-projekt i en lösning:
dotnet sln todo.slnx add todo-app/todo-app.csproj back-end/back-end.csprojTa bort flera C#-projekt från en lösning:
dotnet sln todo.slnx remove todo-app/todo-app.csproj back-end/back-end.csprojLä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 **/*.csprojLä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 **/*.csprojTa 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 migrateSkapa en lösning, en konsolapp och två klassbibliotek. Lägg till projekten i lösningen och använd alternativet
--solution-folderdotnet slnfö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 mylibsFöljande skärmbild visar resultatet i Visual Studio 2019 Solution Explorer:
Se även
- dotnet/sdk GitHub-lagringsplats (.NET CLI-källa)