comando dotnet
Este artículo se aplica a: ✔️ SDK de .NET Core 2.1 y versiones posteriores
NOMBRE
dotnet: controlador genérico de la CLI de .NET.
Sinopsis
Para obtener información sobre los comandos disponibles y el entorno:
dotnet [--version] [--info] [--list-runtimes] [--list-sdks]
dotnet -h|--help
Para ejecutar un comando (se requiere la instalación de un SDK):
dotnet <COMMAND> [-d|--diagnostics] [-h|--help] [--verbosity <LEVEL>]
[command-options] [arguments]
Para ejecutar una aplicación:
dotnet [--additionalprobingpath <PATH>] [--additional-deps <PATH>]
[--fx-version <VERSION>] [--roll-forward <SETTING>]
<PATH_TO_APPLICATION> [arguments]
dotnet exec [--additionalprobingpath] [--additional-deps <PATH>]
[--fx-version <VERSION>] [--roll-forward <SETTING>]
<PATH_TO_APPLICATION> [arguments]
--roll-forward está disponible a partir de .NET Core 3.x. En .NET Core 2.x, use --roll-forward-on-no-candidate-fx.
Descripción
El comando dotnet tiene dos funciones:
Proporciona comandos para trabajar con proyectos de .NET.
Por ejemplo,
dotnet buildcompila un proyecto. Cada comando define sus propias opciones y argumentos. Todos los comandos admiten la opción--helppara ver una breve documentación sobre cómo usar el comando.Ejecuta aplicaciones de .NET.
Hay que especificar la ruta de acceso al archivo
.dllde una aplicación para poder ejecutarla. Ejecutar la aplicación significa buscar y ejecutar el punto de entrada, que en el caso de las aplicaciones de consola es el métodoMain. Por ejemplo,dotnet myapp.dllejecuta la aplicaciónmyapp. Vea Implementación de aplicaciones de .NET para obtener información sobre las opciones de implementación.
Opciones
Existen distintas opciones disponibles para usar dotnet por sí mismo, para ejecutar un comando y para ejecutar una aplicación.
Opciones de dotnet por sí mismo
Las siguientes opciones son para usar dotnet por sí mismo. Por ejemplo: dotnet --info. Muestran información sobre el entorno.
--infoImprime información detallada sobre una instalación de .NET y el entorno del equipo, por ejemplo, el sistema operativo actual y el SHA de confirmación de la versión de .NET.
--version
Imprime la versión del SDK de .NET que los comandos dotnet utilizan. Incluye los efectos de cualquier global.jsen.
--list-runtimesImprime una lista de los entornos de ejecución de .NET instalados. Una versión x86 del SDK muestra solo los runtime x86 y una versión x64 solo los runtime x64.
--list-sdksImprime una lista de los SDK de .NET instalados.
-?|-h|--helpMuestra una lista de los comandos disponibles.
Opciones de SDK para ejecutar un comando
Las siguientes opciones son para usar dotnet con un comando. Por ejemplo: dotnet build --help.
-d|--diagnosticsHabilita la salida de diagnóstico.
-v|--verbosity <LEVEL>Establece el nivel de detalle del comando. Los valores permitidos son
q[uiet],m[inimal],n[ormal],d[etailed]ydiag[nostic]. Estos no se admiten en todos los comandos. Vea la página específica de cada comando para asegurarse de que la opción está disponible.-?|-h|--helpImprime la documentación de un comando determinado, como
dotnet build --help.command optionsCada comando define opciones específicas de ese comando. Vea la página de comandos específica para obtener una lista de las opciones disponibles.
Definición de tiempo de ejecución
Las siguientes opciones están disponibles cuando dotnet ejecuta una aplicación. Por ejemplo: dotnet myapp.dll --roll-forward Major.
--additionalprobingpath <PATH>Ruta de acceso que contiene directivas de sondeo y ensamblados para sondear.
--additional-deps <PATH>Ruta de acceso a un archivo .deps.json adicional. Un archivo deps.json contiene una lista de dependencias, dependencias de compilación e información de versión que se usa para resolver conflictos de ensamblado. Para más información, vea Runtime Configuration Files (Archivos de configuración en tiempo de ejecución) en GitHub.
--depsfile <PATH_TO_DEPSFILE>Ruta de acceso al archivo deps.json. Un archivo deps.json es un archivo de configuración que contiene información sobre las dependencias necesarias para ejecutar la aplicación. El SDK de .NET genera este archivo.
--runtimeconfigRuta de acceso a un archivo runtimeconfig.json. Un archivo runtimeconfig.json es un archivo de configuración que contiene opciones de configuración en tiempo de ejecución. Para obtener más información, consulte Opciones de configuración de entornos de ejecución de .NET.
--roll-forward <SETTING>Disponible a partir del SDK de .NET Core 3.0.Controla cómo se aplica la puesta al día en la aplicación.
SETTINGpuede tener uno de los valores siguientes. Si no se especifica, el valor predeterminado esMinor.LatestPatch: la aplicación se pone al día con la última versión de revisión. Se deshabilita la puesta al día de versiones secundarias.Minor: la aplicación se pone al día con la versión secundaria mínima superior, si no se encuentra la versión secundaria solicitada. Si se encuentra la versión secundaria solicitada, se utiliza la directiva LatestPatch.Major: la aplicación se pone al día con la versión secundaria mínima superior, y con la versión secundaria mínima si no se encuentra la versión secundaria solicitada. Si se encuentra la versión principal solicitada, se utiliza la directiva Minor.LatestMinor: la aplicación e pone al día con la última versión secundaria, aunque la versión secundaria solicitada esté presente. Se destina a escenarios de hospedaje de componentes.LatestMajor: la aplicación se pone al día con la última versión principal y la última versión secundaria, aunque la versión principal solicitada esté presente. Se destina a escenarios de hospedaje de componentes.Disable: la aplicación no se pone al día. Solo se enlaza a la versión especificada. No se recomienda esta directiva para uso general, ya que deshabilita la capacidad de puesta al día con las revisiones más recientes. Este valor solo se recomienda a efectos de pruebas.
A excepción de
Disable, todos los valores usarán la última versión de revisión disponible.El comportamiento de puesta al día también se puede configurar en una propiedad de archivo de proyecto, en una propiedad de archivo de configuración de ejecución y en una variable de entorno. Para obtener más información, vea Puesta al día del runtime de versiones principales.
--roll-forward-on-no-candidate-fx <N>Disponible en el SDK de .NET Core 2.x.Define el comportamiento cuando el marco de trabajo compartido necesario no está disponible.
Npuede ser:0: se deshabilita la puesta al día incluso de las versiones secundarias.1: puesta al día de la versión secundaria, pero no de la versión principal. Éste es el comportamiento predeterminado.2: puesta al día de las versiones principales y secundarias.
Para obtener más información, vea Roll forward (Puesta al día).
A partir de .NET Core 3.0, esta opción se sustituye por
--roll-forwardy es la que debe usarse.--fx-version <VERSION>Versión del entorno de ejecución de .NET que se va a usar para ejecutar la aplicación.
Esta opción reemplaza la versión de la primera referencia de marco en el archivo
.runtimeconfig.jsonde la aplicación. Esto significa que solo funciona según lo esperado si solo hay una referencia de marco. Si la aplicación tiene más de una referencia de marco, el uso de esta opción puede hacer que se produzcan errores.
comandos de dotnet
General
| Comando | Función |
|---|---|
| dotnet build | Compila una aplicación de .NET. |
| dotnet build-server | Interactúa con servidores iniciados por una compilación. |
| dotnet clean | Limpia las salidas de la compilación. |
| dotnet help | Muestra documentación más detallada en línea sobre el comando. |
| dotnet migrate | Migra un proyecto de Preview 2 válido a un proyecto del SDK 1.0 de .NET Core. |
| dotnet msbuild | Proporciona acceso a la línea de comandos de MSBuild. |
| dotnet new | Inicializa un proyecto de C# o F# para una plantilla determinada. |
| dotnet pack | Crea un paquete de NuGet de su código. |
| dotnet publish | Publica una aplicación dependiente del maco .NET o autocontenida. |
| dotnet restore | Restaura las dependencias de una aplicación determinada. |
| dotnet run | Ejecuta la aplicación desde el origen. |
| dotnet sdk check | Muestra el estado actualizado de las versiones instaladas del SDK y el entorno de ejecución. |
| dotnet sln | Opciones para agregar, quitar y mostrar proyectos en un archivo de solución. |
| dotnet store | Almacena ensamblados en el almacenamiento de paquetes en tiempo de ejecución. |
| dotnet test | Ejecuta pruebas usando un ejecutor de pruebas. |
Referencias de proyecto
| Comando | Función |
|---|---|
| dotnet add reference | Agrega una referencia de proyecto. |
| dotnet list reference | Enumera referencias de proyecto. |
| dotnet remove reference | Quita una referencia de proyecto. |
Paquetes NuGet
| Comando | Función |
|---|---|
| dotnet add package | Agrega un paquete NuGet. |
| dotnet remove package | Quita un paquete NuGet. |
Comandos NuGet
| Comando | Función |
|---|---|
| dotnet nuget delete | Elimina o quita de la lista un paquete del servidor. |
| dotnet nuget push | Inserta un paquete en el servidor y lo publica. |
| dotnet nuget locals | Borra o muestra los recursos de NuGet locales, como la caché de solicitudes http, la caché temporal o la carpeta de paquetes global de toda la máquina. |
| dotnet nuget add source | Agrega un origen de NuGet. |
| dotnet nuget disable source | Deshabilita un origen de NuGet. |
| dotnet nuget enable source | Habilita un origen de NuGet. |
| dotnet nuget list source | Enumera todos los orígenes de NuGet configurados. |
| dotnet nuget remove source | Quita un origen de NuGet. |
| dotnet nuget update source | Actualiza un origen de NuGet. |
Comandos de cargas de trabajo
| Comando | Función |
|---|---|
| dotnet workload install | Instala una carga de trabajo opcional. |
| dotnet workload list | Enumera todas las cargas de trabajo instaladas. |
| dotnet workload repair | Repara todas las cargas de trabajo instaladas. |
| dotnet workload search | Enumera las cargas de trabajo seleccionadas o todas las cargas de trabajo disponibles. |
| dotnet workload uninstall | Desinstala una carga de trabajo. |
| dotnet workload update | Vuelve a instalar todas las cargas de trabajo instaladas. |
Comandos de herramientas locales, globales y de ruta de acceso de herramientas
Las herramientas son aplicaciones de consola que se instalan mediante paquetes NuGet y se invocan desde el símbolo del sistema. Puede encargarse de escribir las herramientas o instalar las escritas por terceros. Las herramientas también se denominan herramientas globales, herramientas de ruta de acceso de herramientas y herramientas locales. Para obtener más información, vea la información general sobre las herramientas de .NET. Las herramientas globales y de ruta de acceso de herramientas están disponibles a partir del SDK de .NET Core 2.1. Las herramientas locales están disponibles a partir del SDK de .NET Core 3.0.
| Comando | Función |
|---|---|
| dotnet tool install | Instala una herramienta en el equipo. |
| dotnet tool list | Muestra todas las herramientas globales, de ruta de acceso de herramientas o locales instaladas actualmente en el equipo. |
| dotnet tool search | Busca en NuGet.org herramientas que tengan el término de búsqueda especificado en el nombre o los metadatos. |
| dotnet tool uninstall | Desinstala una herramienta del equipo. |
| dotnet tool update | Actualiza una herramienta que está instalada en el equipo. |
Herramientas adicionales
A partir del SDK de .NET Core 2.1.300, una serie de herramientas que estaban disponibles solo en función del proyecto mediante DotnetCliToolReference ahora están disponibles como parte del SDK de .NET. Estas herramientas se muestran en la tabla siguiente:
| Herramienta | Función |
|---|---|
| dev-certs | Crea y administra certificados de desarrollo. |
| ef | Herramientas de línea de comandos de Entity Framework Core. |
| user-secrets | Administra los secretos del usuario de desarrollo. |
| watch | Inicia un monitor de archivos que ejecuta un comando cuando cambian los archivos. |
Para obtener más información sobre cada herramienta, escriba dotnet <tool-name> --help.
Ejemplos
Creación de una aplicación de consola de .NET:
dotnet new console
Compilación de un proyecto y sus dependencias en un directorio determinado:
dotnet build
Ejecute una aplicación:
dotnet myapp.dll