Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article s’applique à : ✔️ SDK .NET Core 6 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 .slnx dans le dossier actif, portant le même nom que le dossier :
dotnet new sln
L’exemple suivant crée un fichier .slnx dans le dossier actif, avec le nom de fichier spécifié :
dotnet new sln --name MySolution
L’exemple suivant crée un fichier .slnx dans le dossier spécifié, portant le même nom que le dossier :
dotnet new sln --output MySolution
Note
Dans .NET 9 et versions antérieures, dotnet new sln crée un fichier .sln au lieu d’un fichier .slnx .
Arguments
SOLUTION_FILEFichier 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|--helpImprime 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_FILEFichier solution (fichier .sln ou .slnx ) ou filtre de solution (fichier .slnf ) à utiliser.
Si elle n’est pas spécifiée, la commande recherche dans le répertoire actif un fichier .sln, .slnx ou .slnf et, s’il en trouve exactement un, utilise ce fichier. Si plusieurs fichiers ou filtres de solution sont trouvés, l’utilisateur est invité à spécifier explicitement un fichier. Si aucun n’est trouvé, la commande échoue.
(La prise en charge des fichiers .slnf a été ajoutée dans le Kit de développement logiciel (SDK) .NET 9.0.3xx.)
Options
-
-?|-h|--helpImprime 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_FILEFichier 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_PATHChemin 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_PATHinclut 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 avecmyappdans le dossier de solutionfolder1/folder2:dotnet new sln dotnet new console --output folder1/folder2/myapp dotnet sln add folder1/folder2/myappVous pouvez remplacer ce comportement par défaut à l’aide de la
--in-rootou de l’option-s|--solution-folder <PATH>.
Options
-
-?|-h|--helpImprime une description de l’utilisation de la commande.
--in-rootPlace 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_NAME> [<PROJECT_PATH|PROJECT_NAME>...]
dotnet sln [<SOLUTION_FILE>] remove [-h|--help]
Arguments
SOLUTION_FILEFichier 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_PATHouPROJECT_NAMEChemin d’accès ou nom du projet ou des 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.Si un nom de projet est fourni au lieu d’un chemin d’accès, le projet dans la solution qui correspond au nom, quel que soit son chemin, est supprimé. Si plusieurs projets correspondants sont trouvés dans la solution, la commande est incorrecte. Omettez l’extension de fichier projet dans le nom. (La prise en charge de la suppression de projets par nom a été ajoutée dans .NET 10.)
Options
-
-?|-h|--helpImprime 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_FILEFichier 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|--helpImprime une description de l’utilisation de la commande.
Exemples
Répertoriez les projets d’une solution :
dotnet sln todo.slnx listAjoutez un projet C# à une solution :
dotnet sln add todo-app/todo-app.csprojSupprimez un projet C# d’une solution :
dotnet sln remove todo-app/todo-app.csprojAjoutez plusieurs projets C# à la racine d’une solution :
dotnet sln todo.slnx add todo-app/todo-app.csproj back-end/back-end.csproj --in-rootAjoutez plusieurs projets C# à une solution :
dotnet sln todo.slnx add todo-app/todo-app.csproj back-end/back-end.csprojSupprimez plusieurs projets C# d’une solution :
dotnet sln todo.slnx remove todo-app/todo-app.csproj back-end/back-end.csprojAjoutez plusieurs projets C# à une solution à l’aide d’un modèle globbing (Unix/Linux uniquement) :
dotnet sln todo.slnx add **/*.csprojAjoutez 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 **/*.csprojSupprimez 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 migrateCréez une solution, une application console et deux bibliothèques de classes. Ajoutez les projets à la solution et utilisez l’option
--solution-folderdedotnet slnpour 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 mylibsLa capture d’écran suivante montre le résultat dans l’Explorateur de solutions Visual Studio 2019:
Voir aussi
- dépôt GitHub dotnet/sdk (source CLI .NET)