dotnet sln
Este artículo se aplica a: ✔️ SDK de .NET Core 3.1 y versiones posteriores
NOMBRE
dotnet sln
: enumera o modifica los proyectos en un archivo de solución de .NET.
Sinopsis
dotnet sln [<SOLUTION_FILE>] [command]
dotnet sln [command] -h|--help
Descripción
El comando dotnet sln
proporciona una opción conveniente para enumerar y modificar los proyectos en un archivo de solución.
Creación de un archivo de solución
Para usar el comando dotnet sln
, debe existir el archivo de solución. Si necesita crear uno, use el comando dotnet new con el nombre de plantilla sln
.
En el ejemplo siguiente se crea un archivo .sln en la carpeta actual, con el mismo nombre que la carpeta:
dotnet new sln
En el ejemplo siguiente se crea un archivo .sln en la carpeta actual, con el nombre de archivo especificado:
dotnet new sln --name MySolution
En el ejemplo siguiente se crea un archivo .sln en la carpeta especificada, con el mismo nombre que la carpeta:
dotnet new sln --output MySolution
Argumentos
SOLUTION_FILE
El archivo de solución que se va a usar. Si se omite este argumento, el comando busca uno en el directorio actual. Si encuentra varios archivos de solución o no encuentra ninguno, se produce un error en el comando.
Opciones
-?|-h|--help
Imprime una descripción de cómo usar el comando.
Comandos
list
Enumera todos los proyectos en un archivo de solución.
Sinopsis
dotnet sln list [-h|--help]
Argumentos
SOLUTION_FILE
El archivo de solución que se va a usar. Si se omite este argumento, el comando busca uno en el directorio actual. Si encuentra varios archivos de solución o no encuentra ninguno, se produce un error en el comando.
Opciones
-?|-h|--help
Imprime una descripción de cómo usar el comando.
add
Agrega uno o varios proyectos al archivo de solución.
Sinopsis
dotnet sln [<SOLUTION_FILE>] add [--in-root] [-s|--solution-folder <PATH>] <PROJECT_PATH> [<PROJECT_PATH>...]
dotnet sln add [-h|--help]
Argumentos
SOLUTION_FILE
El archivo de solución que se va a usar. Si no se especifica, el comando busca uno en el directorio actual y produce un error si hay varios archivos de solución.
PROJECT_PATH
La ruta de acceso al proyecto o los proyectos que se van a agregar a la solución. Las expansiones del patrón comodines de shell de Unix y Linux se procesan correctamente mediante el comando
dotnet sln
.Si
PROJECT_PATH
incluye carpetas que contienen la carpeta del proyecto, esa parte de la ruta de acceso se usa para crear carpetas de soluciones. Por ejemplo, los siguientes comandos crean una solución conmyapp
en la carpeta de solucionesfolder1/folder2
:dotnet new sln dotnet new console --output folder1/folder2/myapp dotnet sln add folder1/folder2/myapp
Se puede reemplazar este comportamiento predeterminado mediante la opción
--in-root
o-s|--solution-folder <PATH>
.
Opciones
-?|-h|--help
Imprime una descripción de cómo usar el comando.
--in-root
Coloca el proyecto en la raíz de la solución, en lugar de crear una carpeta de la solución. No se puede usar con
-s|--solution-folder
.-s|--solution-folder <PATH>
La ruta de acceso de la carpeta de la solución de destino a la que se van a agregar los proyectos. No se puede usar con
--in-root
.
remove
Quita un proyecto o varios proyectos del archivo de solución.
Sinopsis
dotnet sln [<SOLUTION_FILE>] remove <PROJECT_PATH> [<PROJECT_PATH>...]
dotnet sln [<SOLUTION_FILE>] remove [-h|--help]
Argumentos
SOLUTION_FILE
El archivo de solución que se va a usar. Si no se especifica, el comando busca uno en el directorio actual y produce un error si hay varios archivos de solución.
PROJECT_PATH
La ruta de acceso al proyecto o los proyectos que se van a quitar de la solución. Las expansiones del patrón comodines de shell de Unix y Linux se procesan correctamente mediante el comando
dotnet sln
.
Opciones
-?|-h|--help
Imprime una descripción de cómo usar el comando.
Ejemplos
Enumere los proyectos en una solución:
dotnet sln todo.sln list
Agregue un proyecto de C# a una solución:
dotnet sln add todo-app/todo-app.csproj
Quite un proyecto de C# de una solución:
dotnet sln remove todo-app/todo-app.csproj
Agregue varios proyectos de C# a la raíz de una solución:
dotnet sln todo.sln add todo-app/todo-app.csproj back-end/back-end.csproj --in-root
Agregue varios proyectos de C# a una solución:
dotnet sln todo.sln add todo-app/todo-app.csproj back-end/back-end.csproj
Quite varios proyectos de C# de una solución:
dotnet sln todo.sln remove todo-app/todo-app.csproj back-end/back-end.csproj
Agregue varios proyectos de C# a una solución mediante un patrón de comodines (solo para Unix y Linux):
dotnet sln todo.sln add **/*.csproj
Agregue varios proyectos de C# a una solución mediante un patrón de comodines (solo Windows PowerShell):
dotnet sln todo.sln add (ls -r **/*.csproj)
Quite varios proyectos de C# de una solución mediante un patrón de comodines (solo para Unix y Linux):
dotnet sln todo.sln remove **/*.csproj
Quite varios proyectos de C# a una solución mediante un patrón de comodines (solo Windows PowerShell):
dotnet sln todo.sln remove (ls -r **/*.csproj)
Cree una solución, una aplicación de consola y dos bibliotecas de clases. Agregue los proyectos a la solución y use la opción
--solution-folder
dedotnet sln
para organizar las bibliotecas de clases en una carpeta de soluciones.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
En la captura de pantalla siguiente se muestra el resultado en el Explorador de soluciones de Visual Studio 2019:
Consulte también
- Repositorio de GitHub dotnet/sdk (origen de la CLI de .NET)