dotnet sln
Dieser Artikel gilt für: ✔️ .NET Core 3.1 SDK und höher
Name
dotnet sln
: Der Befehl listet die Projekte in einer .NET-Projektmappendatei auf oder ändert sie.
Übersicht
dotnet sln [<SOLUTION_FILE>] [command]
dotnet sln [command] -h|--help
Beschreibung
Der Befehl dotnet sln
bietet eine komfortable Möglichkeit, Projekte in einer Projektmappendatei aufzulisten und zu ändern.
Erstellen einer Projektmappe
Die Projektmappendatei muss immer vorhanden sein, um den Befehl dotnet sln
verwenden zu können. Wenn Sie eine Datei erstellen müssen, verwenden Sie den Befehl dotnet new mit dem Vorlagennamen sln
.
Das folgende Beispiel erstellt im aktuellen Ordner eine .sln-Datei mit demselben Namen wie der Ordner:
dotnet new sln
Das folgende Beispiel erstellt im aktuellen Ordner eine .sln-Datei mit dem angegebenen Dateinamen:
dotnet new sln --name MySolution
Das folgende Beispiel erstellt im angegebenen Ordner eine .sln-Datei mit demselben Namen wie der Ordner:
dotnet new sln --output MySolution
Argumente
SOLUTION_FILE
Dies ist die zu verwendende Projektmappendatei. Wenn dieses Argument weggelassen wird, durchsucht der Befehl das aktuelle Verzeichnis nach einem. Wenn keine oder mehrere Projektmappendateien gefunden werden, schlägt der Befehl fehl.
Optionen
-?|-h|--help
Gibt eine Beschreibung zur Verwendung des Befehls aus.
Befehle
list
Listet alle Projekte auf, die in einer Projektmappendatei enthalten sind.
Übersicht
dotnet sln list [-h|--help]
Argumente
SOLUTION_FILE
Dies ist die zu verwendende Projektmappendatei. Wenn dieses Argument weggelassen wird, durchsucht der Befehl das aktuelle Verzeichnis nach einem. Wenn keine oder mehrere Projektmappendateien gefunden werden, schlägt der Befehl fehl.
Optionen
-?|-h|--help
Gibt eine Beschreibung zur Verwendung des Befehls aus.
add
Fügt der Projektmappendatei ein oder mehrere Projekte hinzu.
Übersicht
dotnet sln [<SOLUTION_FILE>] add [--in-root] [-s|--solution-folder <PATH>] <PROJECT_PATH> [<PROJECT_PATH>...]
dotnet sln add [-h|--help]
Argumente
SOLUTION_FILE
Dies ist die zu verwendende Projektmappendatei. Falls nicht angegeben, durchsucht der Befehl das aktuelle Verzeichnis nach einer und schlägt fehl, wenn es mehrere Projektmappendateien gibt.
PROJECT_PATH
Dies ist der Pfad zum Projekt bzw. den Projekten, die zur Projektmappe hinzugefügt werden sollen. UNIX-/Linux-Shell-Globmustererweiterungen werden ordnungsgemäß mit dem
dotnet sln
-Befehl verarbeitet.Wenn
PROJECT_PATH
Ordner enthält, die den Projektordner enthalten, wird dieser Teil des Pfads zum Erstellen von Projektmappenordnern verwendet. Mit den folgenden Befehlen wird beispielsweise eine Projektmappe mitmyapp
im Projektmappenordnerfolder1/folder2
erstellt:dotnet new sln dotnet new console --output folder1/folder2/myapp dotnet sln add folder1/folder2/myapp
Sie können dieses Standardverhalten mit der Option
--in-root
oder-s|--solution-folder <PATH>
außer Kraft setzen.
Optionen
-?|-h|--help
Gibt eine Beschreibung zur Verwendung des Befehls aus.
--in-root
Hiermit werden die Projekte im Stamm der Projektmappe platziert anstatt einen Lösungsordner zu erstellen. Kann nicht mit "
-s|--solution-folder
" verwendet werden.-s|--solution-folder <PATH>
Dies ist der Zielpfad des Projektmappenordners, dem die Projekte hinzugefügt werden sollen. Kann nicht mit "
--in-root
" verwendet werden.
remove
Entfernt mindestens ein Projekt aus der Projektmappendatei.
Übersicht
dotnet sln [<SOLUTION_FILE>] remove <PROJECT_PATH> [<PROJECT_PATH>...]
dotnet sln [<SOLUTION_FILE>] remove [-h|--help]
Argumente
SOLUTION_FILE
Dies ist die zu verwendende Projektmappendatei. Falls nicht angegeben, durchsucht der Befehl das aktuelle Verzeichnis nach einer und schlägt fehl, wenn es mehrere Projektmappendateien gibt.
PROJECT_PATH
Dies ist der Pfad zu den Projekten, die aus der Projektmappe entfernt werden sollen. UNIX-/Linux-Shell-Globmustererweiterungen werden ordnungsgemäß mit dem
dotnet sln
-Befehl verarbeitet.
Optionen
-?|-h|--help
Gibt eine Beschreibung zur Verwendung des Befehls aus.
Beispiele
Listen Sie alle Projekte in einer Projektmappe auf:
dotnet sln todo.sln list
Fügen Sie ein C#-Projekt zu einer Projektmappe hinzu:
dotnet sln add todo-app/todo-app.csproj
Entfernen Sie ein C#-Projekt aus einer Projektmappe:
dotnet sln remove todo-app/todo-app.csproj
Fügen Sie mehrere C#-Projekte zum Stamm einer Projektmappe hinzu:
dotnet sln todo.sln add todo-app/todo-app.csproj back-end/back-end.csproj --in-root
Fügen Sie mehrere C#-Projekte zu einer Projektmappe hinzu:
dotnet sln todo.sln add todo-app/todo-app.csproj back-end/back-end.csproj
Entfernen Sie mehrere C#-Projekte aus einer Projektmappe:
dotnet sln todo.sln remove todo-app/todo-app.csproj back-end/back-end.csproj
Fügen Sie mehrere C#-Projekte zu einer Projektmappe hinzu, indem Sie ein Globmuster (nur UNIX/Linux) verwenden:
dotnet sln todo.sln add **/*.csproj
Fügen Sie mehrere C#-Projekte zu einer Projektmappe hinzu, indem Sie ein Globmuster (nur Windows PowerShell) verwenden:
dotnet sln todo.sln add (ls -r **/*.csproj)
Entfernen Sie mehrere C#-Projekte aus einer Projektmappe, indem Sie ein Globmuster (nur UNIX/Linux) verwenden:
dotnet sln todo.sln remove **/*.csproj
Entfernen Sie mehrere C#-Projekte aus einer Projektmappe, indem Sie ein Globmuster (nur Windows PowerShell) verwenden:
dotnet sln todo.sln remove (ls -r **/*.csproj)
Erstellen Sie eine Projektmappe, 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 Projektmappenordner 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.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
Der folgende Screenshot zeigt das Ergebnis im Projektmappen-Explorer von Visual Studio 2019:
Weitere Informationen
- dotnet/sdk-GitHub-Repository (.NET-CLI-Quelle)