Herramientas de la interfaz de la línea de comandos (CLI) de .NET Core.NET Core command-line interface (CLI) tools

La interfaz de la línea de comandos (CLI) de .NET Core es una nueva cadena de herramientas multiplataforma para el desarrollo de aplicaciones. NET.The .NET Core command-line interface (CLI) is a new cross-platform toolchain for developing .NET applications. La CLI es una base sobre la que pueden descansar herramientas de nivel superior, como los entornos de desarrollo integrados (IDE), los editores y los orquestadores de compilación.The CLI is a foundation upon which higher-level tools, such as Integrated Development Environments (IDEs), editors, and build orchestrators, can rest.

InstalaciónInstallation

Puede usar los instaladores nativos o los scripts de shell de instalación:Either use the native installers or use the installation shell scripts:

  • Los instaladores nativos se usan principalmente en máquinas del desarrollador y usan el mecanismo de instalación nativo de cada plataforma compatible, por ejemplo, los paquetes DEB en Ubuntu o los paquetes MSI en Windows.The native installers are primarily used on developer's machines and use each supported platform's native install mechanism, for instance, DEB packages on Ubuntu or MSI bundles on Windows. Estos instaladores instalan y configuran el entorno para su uso inmediato por el desarrollador, pero requieren privilegios administrativos en la máquina.These installers install and configure the environment for immediate use by the developer but require administrative privileges on the machine. Puede ver las instrucciones de instalación en la Guía de instalación de .NET Core.You can view the installation instructions in the .NET Core installation guide.
  • Los scripts de shell se usan principalmente para configurar servidores de compilación o cuando desee instalar las herramientas sin privilegios administrativos.Shell scripts are primarily used for setting up build servers or when you wish to install the tools without administrative privileges. Los scripts de instalación no instalan los requisitos previos en la máquina, se deben instalar manualmente.Install scripts don't install prerequisites on the machine, which must be installed manually. Para más información, consulte el tema de referencia sobre los scripts de instalación.For more information, see the install script reference topic. Para más información sobre cómo configurar la CLI en el servidor de compilación de integración continua (CI), consulte Uso de .NET Core SDK y herramientas de integración continua (CI).For information on how to set up CLI on your continuous integration (CI) build server, see Using .NET Core SDK and tools in Continuous Integration (CI).

De forma predeterminada, la CLI se instala en paralelo (SxS), para que varias versiones de las herramientas de la CLI puedan coexistir en una única máquina.By default, the CLI installs in a side-by-side (SxS) manner, so multiple versions of the CLI tools can coexist on a single machine. En la sección Controlador se explica más detalladamente cómo determinar qué versión usar en una máquina en la que hay varias versiones instaladas.Determining which version is used on a machine where multiple versions are installed is explained in more detail in the Driver section.

Comandos de la CLICLI commands

De forma predeterminada, se instalan los siguientes comandos:The following commands are installed by default:

La CLI adopta un modelo de extensibilidad que le permite especificar herramientas adicionales para sus proyectos.The CLI adopts an extensibility model that allows you to specify additional tools for your projects. Para más información, consulte el tema Modelo de extensibilidad de la CLI de .NET Core.For more information, see the .NET Core CLI extensibility model topic.

Estructura de comandosCommand structure

La estructura de comandos de la CLI consta del controlador ("dotnet"), el comando y posiblemente de los argumentos de comandos y otras opciones.CLI command structure consists of the driver ("dotnet"), the command, and possibly command arguments and options. Este patrón se puede ver en la mayoría de las operaciones de la CLI, como la creación de una nueva aplicación de consola y su ejecución desde la línea de comandos, como muestran los siguientes comandos cuando se ejecutan desde un directorio denominado my_app :You see this pattern in most CLI operations, such as creating a new console app and running it from the command line as the following commands show when executed from a directory named my_app:

dotnet new console
dotnet build --output /build_output
dotnet /build_output/my_app.dll

ControladorDriver

El controlador se denomina dotnet y tiene dos responsabilidades, ejecutar una aplicación dependiente del marco o ejecutar un comando.The driver is named dotnet and has two responsibilities, either running a framework-dependent app or executing a command.

Para ejecutar una aplicación dependiente del marco, especifique la aplicación después del controlador, por ejemplo, dotnet /path/to/my_app.dll.To run a framework-dependent app, specify the app after the driver, for example, dotnet /path/to/my_app.dll. Cuando ejecute el comando desde la carpeta donde reside la DLL de la aplicación, simplemente ejecute dotnet my_app.dll.When executing the command from the folder where the app's DLL resides, simply execute dotnet my_app.dll. Si quiere usar una versión específica del entorno de ejecución .NET Core, use la opción --fx-version <VERSION> (consulte la referencia del comando dotnet).If you want to use a specific version of the .NET Core Runtime, use the --fx-version <VERSION> option (see the dotnet command reference).

Cuando se proporciona un comando para el controlador, dotnet.exe inicia el proceso de ejecución del comando de la CLI.When you supply a command to the driver, dotnet.exe starts the CLI command execution process. Por ejemplo:For example:

> dotnet build

En primer lugar, el controlador determina la versión de SDK que se debe usar.First, the driver determines the version of the SDK to use. Si no hay ningún elemento "global.json", se usa la última versión del SDK disponible.If there is no 'global.json', the latest version of the SDK available is used. Podría tratarse de una versión preliminar o de una versión estable, en función de lo último que esté disponible en el equipo.This might be either a preview or stable version, depending on what is latest on the machine. Una vez determinada la versión del SDK, se ejecutará el comando.Once the SDK version is determined, it executes the command.

ComandoCommand

El comando realiza una acción.The command performs an action. Por ejemplo, dotnet build compila código.For example, dotnet build builds code. dotnet publish publica el código.dotnet publish publishes code. Los comandos se implementan como una aplicación de consola usando una convención dotnet {command}.The commands are implemented as a console application using a dotnet {command} convention.

ArgumentosArguments

Los argumentos que se pasan en la línea de comandos son los argumentos para el comando invocado.The arguments you pass on the command line are the arguments to the command invoked. Por ejemplo, cuando ejecuta dotnet publish my_app.csproj, el argumento my_app.csproj indica el proyecto que se publicará y se pasará al comando publish.For example when you execute dotnet publish my_app.csproj, the my_app.csproj argument indicates the project to publish and is passed to the publish command.

OpcionesOptions

Las opciones que se pasan en la línea de comandos son las opciones para el comando que se invoca.The options you pass on the command line are the options to the command invoked. Por ejemplo, cuando ejecuta dotnet publish --output /build_output, la opción --output y su valor se pasan al comando publish.For example when you execute dotnet publish --output /build_output, the --output option and its value are passed to the publish command.

Migración desde project.jsonMigration from project.json

Si usó herramientas de la versión preliminar 2 para producir proyectos basados en project.json, consulte el tema sobre dotnet migrate para más información sobre cómo migrar su proyecto a MSBuild/ .csproj para usarlo con herramientas de versión.If you used Preview 2 tooling to produce project.json-based projects, consult the dotnet migrate topic for information on migrating your project to MSBuild/.csproj for use with release tooling. Para los proyectos de .NET Core creados antes del lanzamiento de las herramientas de la versión preliminar 2, actualice manualmente el proyecto siguiendo las instrucciones que se indican en Migración de DNX a CLI de .NET Core (project.json) y, luego, use dotnet migrate o actualice directamente los proyectos.For .NET Core projects created prior to the release of Preview 2 tooling, either manually update the project following the guidance in Migrating from DNX to .NET Core CLI (project.json) and then use dotnet migrate or directly upgrade your projects.

Vea tambiénSee also