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 mit myapp im Projektmappenordner folder1/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 von dotnet 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:

    Projektmappen-Explorer mit Klassenbibliotheksprojekten gruppiert in einem Projektmappenordner

Weitere Informationen