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 con myapp en la carpeta de soluciones folder1/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 de dotnet 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:

    Explorador de soluciones mostrando los proyectos de biblioteca de clases agrupados en una carpeta de soluciones.

Consulte también