Freigeben über


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 mit myapp im Lösungsordner folder1/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-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_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 von dotnet 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:

    Projektmappen-Explorer, in dem Klassenbibliotheksprojekte in einem Projektmappenordner gruppiert sind.

Siehe auch