Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Dieser Artikel gilt für: ✔️ .NET 6 SDK und höhere Versionen
Name
dotnet sln – Listet die Projekte in einer .NET-Lösungsdatei auf oder ändert sie, oder migriert die Datei zu einer SLNX--Datei.
Zusammenfassung
dotnet sln [<SOLUTION_FILE>] [command]
dotnet sln [command] -h|--help
Beschreibung
Der Befehl dotnet sln bietet eine bequeme Möglichkeit zum Auflisten und Ändern von Projekten in einer Lösungsdatei.
Erstellen einer Lösungsdatei
Um den Befehl dotnet sln zu verwenden, muss die Lösungsdatei bereits vorhanden sein. Wenn Sie einen erstellen müssen, verwenden Sie den Befehl dotnet new mit dem Namen der sln Vorlage.
Im folgenden Beispiel wird eine SLNX-Datei im aktuellen Ordner mit demselben Namen wie der Ordner erstellt:
dotnet new sln
Im folgenden Beispiel wird eine SLNX-Datei im aktuellen Ordner mit dem angegebenen Dateinamen erstellt:
dotnet new sln --name MySolution
Im folgenden Beispiel wird eine SLNX-Datei im angegebenen Ordner mit demselben Namen wie der Ordner erstellt:
dotnet new sln --output MySolution
Hinweis
In .NET 9 und früheren Versionen dotnet new sln wird anstelle einer SLNX-Datei eine .sln Datei erstellt.
Argumente
SOLUTION_FILEDie zu verwendende Lösungsdatei (entweder eine .sln- oder SLNX--Datei).
Wenn nicht angegeben, durchsucht der Befehl das aktuelle Verzeichnis nach einer .sln- oder SLNX- Datei und verwendet, wenn er genau eine findet, diese Datei. Wenn mehrere Lösungsdateien gefunden werden, wird der Benutzer aufgefordert, eine Datei explizit anzugeben. Wenn keine gefunden wird, schlägt der Befehl fehl.
Optionen
-
-?|-h|--helpGibt eine Beschreibung der Verwendung des Befehls aus.
Befehle
Die folgenden Befehle sind verfügbar:
list
Listet alle Projekte in einer Lösungsdatei auf.
Zusammenfassung
dotnet sln list [-h|--help]
Argumente
SOLUTION_FILEDie zu verwendende Lösungsdatei (.sln - oder SLNX-Datei ) oder lösungsfilter (SLNF-Datei ).
Wenn nicht angegeben, durchsucht der Befehl das aktuelle Verzeichnis nach einer .sln-, SLNX- oder SLNF-Datei und verwendet, wenn er genau eine findet, diese Datei. Wenn mehrere Lösungsdateien oder Filter gefunden werden, wird der Benutzer aufgefordert, eine Datei explizit anzugeben. Wenn keine gefunden wird, schlägt der Befehl fehl.
(Unterstützung für SLNF-Dateien wurde in .NET SDK 9.0.3xx hinzugefügt.)
Optionen
-
-?|-h|--helpGibt eine Beschreibung der Verwendung des Befehls aus.
add
Fügt der Projektmappendatei ein oder mehrere Projekte hinzu.
Zusammenfassung
dotnet sln [<SOLUTION_FILE>] add [--in-root] [-s|--solution-folder <PATH>] <PROJECT_PATH> [<PROJECT_PATH>...]
dotnet sln add [-h|--help]
Argumente
SOLUTION_FILEDie zu verwendende Lösungsdatei (entweder eine .sln- oder SLNX--Datei).
Wenn nicht angegeben, durchsucht der Befehl das aktuelle Verzeichnis nach einer .sln- oder SLNX- Datei und verwendet, wenn er genau eine findet, diese Datei. Wenn mehrere Lösungsdateien gefunden werden, wird der Benutzer aufgefordert, eine Datei explizit anzugeben. Wenn keine gefunden wird, schlägt der Befehl fehl.
PROJECT_PATHDer Pfad zum Projekt oder zu projekten, das der Projektmappe hinzugefügt werden soll. Unix/Linux Shell Globbing-Muster Erweiterungen werden vom
dotnet sln-Befehl korrekt verarbeitet.Wenn
PROJECT_PATHOrdner enthält, die den Projektordner enthalten, wird dieser Teil des Pfads verwendet, um Lösungsordnerzu erstellen. Beispielsweise erstellen die folgenden Befehle eine Lösung mitmyappim Lösungsordnerfolder1/folder2:dotnet new sln dotnet new console --output folder1/folder2/myapp dotnet sln add folder1/folder2/myappSie können dieses Standardverhalten überschreiben, indem Sie die
--in-rootoder die Option-s|--solution-folder <PATH>verwenden.
Optionen
-
-?|-h|--helpGibt eine Beschreibung der Verwendung des Befehls aus.
--in-rootPlatziert die Projekte im Stamm der Projektmappe, anstatt einen Lösungsordnerzu erstellen. Kann nicht mit
-s|--solution-folderverwendet werden.-s|--solution-folder <PATH>Der Ziel-Projektmappenordner Pfad, dem die Projekte hinzugefügt werden sollen. Kann nicht mit
--in-rootverwendet werden.
remove
Entfernt ein Projekt oder mehrere Projekte aus der Projektmappendatei.
Zusammenfassung
dotnet sln [<SOLUTION_FILE>] remove <PROJECT_PATH|PROJECT_NAME> [<PROJECT_PATH|PROJECT_NAME>...]
dotnet sln [<SOLUTION_FILE>] remove [-h|--help]
Argumente
SOLUTION_FILEDie zu verwendende Lösungsdatei (entweder eine .sln- oder SLNX--Datei).
Wenn nicht angegeben, durchsucht der Befehl das aktuelle Verzeichnis nach einer .sln- oder SLNX- Datei und verwendet, wenn er genau eine findet, diese Datei. Wenn mehrere Lösungsdateien gefunden werden, wird der Benutzer aufgefordert, eine Datei explizit anzugeben. Wenn keine gefunden wird, schlägt der Befehl fehl.
PROJECT_PATHoderPROJECT_NAMEDer Pfad zu oder dem Namen des Projekts oder der Projekte, das aus der Projektmappe entfernt werden soll. Unix/Linux Shell Globbing-Muster Erweiterungen werden vom
dotnet sln-Befehl korrekt verarbeitet.Wenn anstelle eines Pfads ein Projektname angegeben wird, wird das Projekt in der Projektmappe entfernt, das dem Namen entspricht, unabhängig vom Pfad. Wenn mehr als ein übereinstimmende Projekt in der Lösung gefunden wird, wird der Befehl fehlerhaft. Lassen Sie die Projektdateierweiterung im Namen aus. (Unterstützung für das Entfernen von Projekten nach Namen wurde in .NET 10 hinzugefügt.)
Optionen
-
-?|-h|--helpGibt eine Beschreibung der Verwendung des Befehls aus.
migrate
Generiert eine SLNX- Lösungsdatei aus einer .sln Datei.
Zusammenfassung
dotnet sln [<SOLUTION_FILE>] migrate
dotnet sln [<SOLUTION_FILE>] migrate [-h|--help]
Argumente
SOLUTION_FILEDie .sln Lösungsdatei, die migriert werden soll.
Wenn nicht angegeben, durchsucht der Befehl das aktuelle Verzeichnis nach einer .sln Datei und verwendet, wenn er genau einen findet, diese Datei. Wenn mehrere .sln Dateien gefunden werden, wird der Benutzer aufgefordert, eine Datei explizit anzugeben. Wenn keine gefunden wird, schlägt der Befehl fehl.
Wenn Sie eine SLNX- Datei anstelle einer .sln Datei angeben oder eine SLNX--Datei mit demselben Dateinamen (minus der .sln Erweiterung) bereits im Verzeichnis vorhanden ist, schlägt der Befehl fehl.
Optionen
-
-?|-h|--helpGibt eine Beschreibung der Verwendung des Befehls aus.
Beispiele
Auflisten der Projekte in einer Lösung:
dotnet sln todo.slnx listFügen Sie einer Projektmappe ein C#-Projekt hinzu:
dotnet sln add todo-app/todo-app.csprojEntfernen Eines C#-Projekts aus einer Lösung:
dotnet sln remove todo-app/todo-app.csprojFügen Sie dem Stamm einer Projektmappe mehrere C#-Projekte hinzu:
dotnet sln todo.slnx add todo-app/todo-app.csproj back-end/back-end.csproj --in-rootFügen Sie einer Projektmappe mehrere C#-Projekte hinzu:
dotnet sln todo.slnx add todo-app/todo-app.csproj back-end/back-end.csprojEntfernen mehrerer C#-Projekte aus einer Lösung:
dotnet sln todo.slnx remove todo-app/todo-app.csproj back-end/back-end.csprojHinzufügen mehrerer C#-Projekte zu einer Lösung mit einem globbing-Muster (nur Unix/Linux):
dotnet sln todo.slnx add **/*.csprojHinzufügen mehrerer C#-Projekte zu einer Lösung mithilfe eines globbing-Musters (nur Windows PowerShell):
dotnet sln todo.slnx add (ls -r **/*.csproj)Entfernen Sie mehrere C#-Projekte aus einer Lösung mit einem globbing-Muster (nur Unix/Linux):
dotnet sln todo.slnx remove **/*.csprojEntfernen Mehrerer C#-Projekte aus einer Lösung mithilfe eines globbing-Musters (nur Windows PowerShell):
dotnet sln todo.slnx remove (ls -r **/*.csproj)Generieren Sie eine SLNX--Datei aus einer .sln Datei:
dotnet sln todo.sln migrateErstellen Sie eine Lösung, eine Konsolen-App und zwei Klassenbibliotheken. Fügen Sie die Projekte zur Projektmappe hinzu, und verwenden Sie die option
--solution-foldervondotnet sln, um die Klassenbibliotheken in einem Lösungsordner zu organisieren.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 mylibsDer folgende Screenshot zeigt das Ergebnis in Visual Studio 2019 Projektmappen-Explorer:
Siehe auch
- dotnet/sdk GitHub-Repository- (.NET CLI-Quelle)