Partage via


dotnet sln

Cet article s’applique à : ✔️ SDK .NET Core 3.1 et versions ultérieures

Nom

dotnet sln : répertorie ou modifie les projets dans un fichier de solution .NET, ou migre le fichier vers un fichier .slnx.

Synopsis

dotnet sln [<SOLUTION_FILE>] [command]

dotnet sln [command] -h|--help

Description

La commande dotnet sln fournit un moyen pratique de répertorier et de modifier des projets dans un fichier solution.

Créer un fichier de solution

Pour utiliser la commande dotnet sln, le fichier solution doit déjà exister. Si vous devez en créer un, utilisez la commande dotnet new avec le nom du modèle sln.

L’exemple suivant crée un fichier .sln dans le dossier actif, portant le même nom que le dossier :

dotnet new sln

L’exemple suivant crée un fichier .sln dans le dossier actif, avec le nom de fichier spécifié :

dotnet new sln --name MySolution

L’exemple suivant crée un fichier .sln dans le dossier spécifié, portant le même nom que le dossier :

dotnet new sln --output MySolution

Arguments

  • SOLUTION_FILE

    Fichier solution à utiliser (un fichier .sln ou fichier .slnx).

    Si elle n’est pas spécifiée, la commande recherche dans le répertoire actif un fichier .sln ou .slnx et, si elle en trouve exactement un, utilise ce fichier. Si plusieurs fichiers de solution sont trouvés, l’utilisateur est invité à spécifier explicitement un fichier. Si aucun n’est trouvé, la commande échoue.

Options

  • -?|-h|--help

    Imprime une description de l’utilisation de la commande.

Commandes

Les commandes suivantes sont disponibles :

list

Répertorie tous les projets d’un fichier de solution.

Synopsis

dotnet sln list [-h|--help]

Arguments

  • SOLUTION_FILE

    Fichier solution à utiliser (un fichier .sln ou fichier .slnx).

    Si elle n’est pas spécifiée, la commande recherche dans le répertoire actif un fichier .sln ou .slnx et, si elle en trouve exactement un, utilise ce fichier. Si plusieurs fichiers de solution sont trouvés, l’utilisateur est invité à spécifier explicitement un fichier. Si aucun n’est trouvé, la commande échoue.

Options

  • -?|-h|--help

    Imprime une description de l’utilisation de la commande.

add

Ajoute un ou plusieurs projets au fichier solution.

Synopsis

dotnet sln [<SOLUTION_FILE>] add [--in-root] [-s|--solution-folder <PATH>] <PROJECT_PATH> [<PROJECT_PATH>...]
dotnet sln add [-h|--help]

Arguments

  • SOLUTION_FILE

    Fichier solution à utiliser (un fichier .sln ou fichier .slnx).

    Si elle n’est pas spécifiée, la commande recherche dans le répertoire actif un fichier .sln ou .slnx et, si elle en trouve exactement un, utilise ce fichier. Si plusieurs fichiers de solution sont trouvés, l’utilisateur est invité à spécifier explicitement un fichier. Si aucun n’est trouvé, la commande échoue.

  • PROJECT_PATH

    Chemin d’accès au projet ou aux projets à ajouter à la solution. L’interpréteur de commandes Unix/Linux modèle globbing les extensions sont traitées correctement par la commande dotnet sln.

    Si PROJECT_PATH inclut des dossiers qui contiennent le dossier du projet, cette partie du chemin d’accès est utilisée pour créer des dossiers de solution . Par exemple, les commandes suivantes créent une solution avec myapp dans le dossier de solution folder1/folder2:

    dotnet new sln
    dotnet new console --output folder1/folder2/myapp
    dotnet sln add folder1/folder2/myapp
    

    Vous pouvez remplacer ce comportement par défaut à l’aide de la --in-root ou de l’option -s|--solution-folder <PATH>.

Options

  • -?|-h|--help

    Imprime une description de l’utilisation de la commande.

  • --in-root

    Place les projets à la racine de la solution, au lieu de créer un dossier de solution . Impossible d’utiliser -s|--solution-folder.

  • -s|--solution-folder <PATH>

    Le dossier de solution de destination chemin d’accès pour ajouter les projets. Impossible d’utiliser --in-root.

remove

Supprime un projet ou plusieurs projets du fichier solution.

Synopsis

dotnet sln [<SOLUTION_FILE>] remove <PROJECT_PATH> [<PROJECT_PATH>...]
dotnet sln [<SOLUTION_FILE>] remove [-h|--help]

Arguments

  • SOLUTION_FILE

    Fichier solution à utiliser (un fichier .sln ou fichier .slnx).

    Si elle n’est pas spécifiée, la commande recherche dans le répertoire actif un fichier .sln ou .slnx et, si elle en trouve exactement un, utilise ce fichier. Si plusieurs fichiers de solution sont trouvés, l’utilisateur est invité à spécifier explicitement un fichier. Si aucun n’est trouvé, la commande échoue.

  • PROJECT_PATH

    Chemin d’accès au projet ou aux projets à supprimer de la solution. L’interpréteur de commandes Unix/Linux modèle globbing les extensions sont traitées correctement par la commande dotnet sln.

Options

  • -?|-h|--help

    Imprime une description de l’utilisation de la commande.

migrate

Génère un fichier de solution .slnx à partir d’un fichier .sln.

Synopsis

dotnet sln [<SOLUTION_FILE>] migrate
dotnet sln [<SOLUTION_FILE>] migrate [-h|--help]

Arguments

  • SOLUTION_FILE

    Fichier de solution .sln à migrer.

    Si elle n’est pas spécifiée, la commande recherche dans le répertoire actif un fichier .sln et, si elle en trouve exactement un, utilise ce fichier. Si plusieurs fichiers .sln sont trouvés, l’utilisateur est invité à spécifier un fichier explicitement. Si aucun n’est trouvé, la commande échoue.

    Si vous spécifiez un fichier .slnx au lieu d’un fichier .sln, ou si un fichier .slnx portant le même nom de fichier (moins l’extension .sln) existe déjà dans le répertoire, la commande échoue.

Options

  • -?|-h|--help

    Imprime une description de l’utilisation de la commande.

Exemples

  • Répertoriez les projets d’une solution :

    dotnet sln todo.slnx list
    
  • Ajoutez un projet C# à une solution :

    dotnet sln add todo-app/todo-app.csproj
    
  • Supprimez un projet C# d’une solution :

    dotnet sln remove todo-app/todo-app.csproj
    
  • Ajoutez plusieurs projets C# à la racine d’une solution :

    dotnet sln todo.slnx add todo-app/todo-app.csproj back-end/back-end.csproj --in-root
    
  • Ajoutez plusieurs projets C# à une solution :

    dotnet sln todo.slnx add todo-app/todo-app.csproj back-end/back-end.csproj
    
  • Supprimez plusieurs projets C# d’une solution :

    dotnet sln todo.slnx remove todo-app/todo-app.csproj back-end/back-end.csproj
    
  • Ajoutez plusieurs projets C# à une solution à l’aide d’un modèle globbing (Unix/Linux uniquement) :

    dotnet sln todo.slnx add **/*.csproj
    
  • Ajoutez plusieurs projets C# à une solution à l’aide d’un modèle globbing (Windows PowerShell uniquement) :

    dotnet sln todo.slnx add (ls -r **/*.csproj)
    
  • Supprimez plusieurs projets C# d’une solution à l’aide d’un modèle globbing (Unix/Linux uniquement) :

    dotnet sln todo.slnx remove **/*.csproj
    
  • Supprimez plusieurs projets C# d’une solution à l’aide d’un modèle globbing (Windows PowerShell uniquement) :

    dotnet sln todo.slnx remove (ls -r **/*.csproj)
    
  • Générez un fichier .slnx à partir d’un fichier .sln :

    dotnet sln todo.sln migrate
    
  • Créez une solution, une application console et deux bibliothèques de classes. Ajoutez les projets à la solution et utilisez l’option --solution-folder de dotnet sln pour organiser les bibliothèques de classes dans un dossier de solution.

    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
    

    La capture d’écran suivante montre le résultat dans l’Explorateur de solutions Visual Studio 2019:

    Explorateur de solutions montrant les projets de bibliothèque de classes regroupés dans un dossier de solution.

Voir aussi