dotnet sln
Dieser Artikel gilt für: ✔️ .NET Core 3.1 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 .sln Datei im aktuellen Ordner mit demselben Namen wie der Ordner erstellt:
dotnet new sln
Im folgenden Beispiel wird eine .sln Datei im aktuellen Ordner mit dem angegebenen Dateinamen erstellt:
dotnet new sln --name MySolution
Im folgenden Beispiel wird eine .sln Datei im angegebenen Ordner mit demselben Namen wie der Ordner erstellt:
dotnet new sln --output MySolution
Argumente
SOLUTION_FILE
Die 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|--help
Gibt 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_FILE
Die 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|--help
Gibt 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_FILE
Die 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_PATH
Der 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_PATH
Ordner enthält, die den Projektordner enthalten, wird dieser Teil des Pfads verwendet, um Lösungsordnerzu erstellen. Beispielsweise erstellen die folgenden Befehle eine Lösung mitmyapp
im Lösungsordnerfolder1/folder2
:dotnet new sln dotnet new console --output folder1/folder2/myapp dotnet sln add folder1/folder2/myapp
Sie können dieses Standardverhalten überschreiben, indem Sie die
--in-root
oder die Option-s|--solution-folder <PATH>
verwenden.
Optionen
-?|-h|--help
Gibt eine Beschreibung der Verwendung des Befehls aus.
--in-root
Platziert die Projekte im Stamm der Projektmappe, anstatt einen Lösungsordnerzu erstellen. Kann nicht mit
-s|--solution-folder
verwendet werden.-s|--solution-folder <PATH>
Der Ziel-Projektmappenordner Pfad, dem die Projekte hinzugefügt werden sollen. Kann nicht mit
--in-root
verwendet werden.
remove
Entfernt ein Projekt oder mehrere Projekte aus der Projektmappendatei.
Zusammenfassung
dotnet sln [<SOLUTION_FILE>] remove <PROJECT_PATH> [<PROJECT_PATH>...]
dotnet sln [<SOLUTION_FILE>] remove [-h|--help]
Argumente
SOLUTION_FILE
Die 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_PATH
Der Pfad zum Projekt oder zu Projekten, das aus der Projektmappe entfernt werden soll. Unix/Linux Shell Globbing-Muster Erweiterungen werden vom
dotnet sln
-Befehl korrekt verarbeitet.
Optionen
-?|-h|--help
Gibt 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_FILE
Die .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|--help
Gibt eine Beschreibung der Verwendung des Befehls aus.
Beispiele
Auflisten der Projekte in einer Lösung:
dotnet sln todo.slnx list
Fügen Sie einer Projektmappe ein C#-Projekt hinzu:
dotnet sln add todo-app/todo-app.csproj
Entfernen Eines C#-Projekts aus einer Lösung:
dotnet sln remove todo-app/todo-app.csproj
Fü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-root
Fügen Sie einer Projektmappe mehrere C#-Projekte hinzu:
dotnet sln todo.slnx add todo-app/todo-app.csproj back-end/back-end.csproj
Entfernen mehrerer C#-Projekte aus einer Lösung:
dotnet sln todo.slnx remove todo-app/todo-app.csproj back-end/back-end.csproj
Hinzufügen mehrerer C#-Projekte zu einer Lösung mit einem globbing-Muster (nur Unix/Linux):
dotnet sln todo.slnx add **/*.csproj
Hinzufü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 **/*.csproj
Entfernen 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 migrate
Erstellen Sie eine Lösung, eine Konsolen-App und zwei Klassenbibliotheken. Fügen Sie die Projekte zur Projektmappe hinzu, und verwenden Sie die option
--solution-folder
vondotnet 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 mylibs
Der folgende Screenshot zeigt das Ergebnis in Visual Studio 2019 Projektmappen-Explorer:
Siehe auch
- dotnet/sdk GitHub-Repository- (.NET CLI-Quelle)