dotnet rundotnet run

Este artículo se aplica a: ✓ SDK de .NET Core 1.x SDK de .NET Core 2.xThis article applies to: ✓ .NET Core 1.x SDK .NET Core 2.x SDK

NameName

dotnet run: ejecuta el código fuente sin comandos explícitos de compilación o inicio.dotnet run - Runs source code without any explicit compile or launch commands.

SinopsisSynopsis

dotnet run [-c|--configuration] [-f|--framework] [--force] [--launch-profile] [--no-build] [--no-dependencies]
    [--no-launch-profile] [--no-restore] [-p|--project] [--runtime] [-v|--verbosity] [[--] [application arguments]]
dotnet run [-h|--help]

DESCRIPCIÓNDescription

El comando dotnet run proporciona una opción conveniente para ejecutar la aplicación desde el código fuente con un comando.The dotnet run command provides a convenient option to run your application from the source code with one command. Es útil para un desarrollo iterativo rápido desde la línea de comandos.It's useful for fast iterative development from the command line. El comando depende del comando dotnet build para compilar el código.The command depends on the dotnet build command to build the code. Los requisitos para la compilación, como que el cliente se deba restaurar primero, también se aplican a dotnet run.Any requirements for the build, such as that the project must be restored first, apply to dotnet run as well.

Los archivos de salida se escriben en la ubicación predeterminada, que es bin/<configuration>/<target>.Output files are written into the default location, which is bin/<configuration>/<target>. Por ejemplo, si tiene una aplicación netcoreapp2.1 y ejecuta dotnet run, la salida se colocará en bin/Debug/netcoreapp2.1.For example if you have a netcoreapp2.1 application and you run dotnet run, the output is placed in bin/Debug/netcoreapp2.1. Los archivos se sobrescriben según sea necesario.Files are overwritten as needed. Los archivos temporales se colocan en el directorio obj.Temporary files are placed in the obj directory.

Si el proyecto especifica varios marcos, al ejecutar dotnet run se produce un error a menos que se use la opción -f|--framework <FRAMEWORK> para especificar el marco.If the project specifies multiple frameworks, executing dotnet run results in an error unless the -f|--framework <FRAMEWORK> option is used to specify the framework.

El comando dotnet run debe usarse en el contexto de proyectos, no de ensamblados compilados.The dotnet run command is used in the context of projects, not built assemblies. Si, por el contrario, está intentando ejecutar una DLL de aplicación dependiente del marco de trabajo, debe usar dotnet sin un comando.If you're trying to run a framework-dependent application DLL instead, you must use dotnet without a command. Por ejemplo, para ejecutar myapp.dll, use:For example, to run myapp.dll, use:

dotnet myapp.dll

Para más información sobre el controlador dotnet, consulte el tema Herramientas de la interfaz de la línea de comandos (CLI) de .NET Core .For more information on the dotnet driver, see the .NET Core Command Line Tools (CLI) topic.

Para ejecutar la aplicación, el comando dotnet run resuelve las dependencias de la aplicación que se encuentran fuera del entorno de tiempo de ejecución compartido desde la caché de NuGet.To run the application, the dotnet run command resolves the dependencies of the application that are outside of the shared runtime from the NuGet cache. Dado que se usan dependencias almacenadas en caché, no se recomienda utilizar dotnet run para ejecutar aplicaciones en producción.Because it uses cached dependencies, it's not recommended to use dotnet run to run applications in production. En su lugar, cree una implementación mediante el comando dotnet publish e implemente la salida publicada.Instead, create a deployment using the dotnet publish command and deploy the published output.

Nota

A partir de .NET Core 2.0, no es necesario ejecutar dotnet restore porque lo ejecutan implícitamente todos los comandos que requieren que se produzca una restauración, como dotnet build y dotnet run.Starting with .NET Core 2.0, you don't have to run dotnet restore because it's run implicitly by all commands that require a restore to occur, such as dotnet build and dotnet run. Sigue siendo un comando válido en algunos escenarios donde tiene sentido realizar una restauración explícita, como las compilaciones de integración continua en Azure DevOps Services o en los sistemas de compilación que necesitan controlar explícitamente la hora a la que se produce la restauración.It's still a valid command in certain scenarios where doing an explicit restore makes sense, such as continuous integration builds in Azure DevOps Services or in build systems that need to explicitly control the time at which the restore occurs.

Este comando también admite las opciones dotnet restore cuando se pasan con el formato largo (por ejemplo, --source).This command also supports the dotnet restore options when passed in the long form (for example, --source). No se admiten las opciones de formato corto, como -s.Short form options, such as -s, are not supported.

OpcionesOptions

--

Delimita los argumentos a dotnet run a partir de argumentos de la aplicación que se va a ejecutar.Delimits arguments to dotnet run from arguments for the application being run. Todos los argumentos después de este delimitador se pasan a la aplicación que se ejecuta.All arguments after this delimiter are passed to the application run.

-c|--configuration {Debug|Release}

Define la configuración de compilación.Defines the build configuration. El valor predeterminado es Debug.The default value is Debug.

-f|--framework <FRAMEWORK>

Compila y ejecuta la aplicación con el marco especificado.Builds and runs the app using the specified framework. El marco debe especificarse en el archivo de proyecto.The framework must be specified in the project file.

--force

Fuerza la resolución de todas las dependencias, incluso si la última restauración se realizó correctamente.Forces all dependencies to be resolved even if the last restore was successful. Especificar esta marca es lo mismo que eliminar el archivo project.assets.json.Specifying this flag is the same as deleting the project.assets.json file.

-h|--help

Imprime una corta ayuda para el comando.Prints out a short help for the command.

--launch-profile <NAME>

El nombre del perfil de inicio (si lo hay) que se usará al iniciar la aplicación.The name of the launch profile (if any) to use when launching the application. Los perfiles de inicio se definen en el archivo launchSettings.json y se suelen denominar Development, Staging y Production.Launch profiles are defined in the launchSettings.json file and are typically called Development, Staging, and Production. Para obtener más información, consulte Working with multiple environments (Trabajo con varios entornos).For more information, see Working with multiple environments.

--no-build

No compila el proyecto antes de ejecutarlo.Doesn't build the project before running. También establece la marca --no-restore de forma implícita.It also implicit sets the --no-restore flag.

--no-dependencies

Al restaurar un proyecto con referencias de proyecto a proyecto (P2P), se restaura el proyecto raíz y no las referencias.When restoring a project with project-to-project (P2P) references, restores the root project and not the references.

--no-launch-profile

No intenta usar launchSettings.json para configurar la aplicación.Doesn't try to use launchSettings.json to configure the application.

--no-restore

No ejecuta una restauración implícita al ejecutar el comando.Doesn't execute an implicit restore when running the command.

-p|--project <PATH>

Especifica la ruta de acceso del archivo del proyecto que se va a ejecutar (nombre de la carpeta o ruta de acceso completa).Specifies the path of the project file to run (folder name or full path). Si no se especifica, se toma como predeterminado el directorio actual.If not specified, it defaults to the current directory.

--runtime <RUNTIME_IDENTIFIER>

Especifica el tiempo de ejecución de destino para el que restaurar los paquetes.Specifies the target runtime to restore packages for. Para obtener una lista de identificadores de tiempo de ejecución (RID), consulte el catálogo de RID.For a list of Runtime Identifiers (RIDs), see the RID catalog.

-v|--verbosity <LEVEL>

Establece el nivel de detalle del comando.Sets the verbosity level of the command. Los valores permitidos son q[uiet], m[inimal], n[ormal], d[etailed] y diag[nostic].Allowed values are q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic].

EjemplosExamples

Ejecución del proyecto en el directorio actual:Run the project in the current directory:

dotnet run

Ejecución del proyecto especificado:Run the specified project:

dotnet run --project ./projects/proj1/proj1.csproj

Ejecute el proyecto en el directorio actual (el argumento --help en este ejemplo se pasa a la aplicación, dado que se usa la opción -- en blanco):Run the project in the current directory (the --help argument in this example is passed to the application, since the blank -- option is used):

dotnet run --configuration Release -- --help

Restaure las dependencias y herramientas del proyecto en el directorio actual mostrando solo la salida mínima y, después, ejecute el proyecto: (SDK de .NET Core 2.0 y versiones superiores):Restore dependencies and tools for the project in the current directory only showing minimal output and then run the project: (.NET Core SDK 2.0 and later versions):

dotnet run --verbosity m