dotnet rundotnet run

Эта статья применима к: ✓ пакету SDK для .NET Core 1.x пакету SDK для .NET Core 2.xThis topic applies to: ✓ .NET Core SDK 1.x .NET Core SDK 2.x

nameName

dotnet run — выполняет исходный код без дополнительных явных команд компиляции или запуска.dotnet run - Runs source code without any explicit compile or launch commands.

Краткий обзорSynopsis

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]

ОписаниеDescription

dotnet run — это удобное средство для запуска приложения из исходного кода одной командой.The dotnet run command provides a convenient option to run your application from the source code with one command. Это полезно для быстрой последовательной разработки из командной строки.It's useful for fast iterative development from the command line. В отношении сборки кода эта команда зависима от команды dotnet build.The command depends on the dotnet build command to build the code. Любые требования к сборке, например, то, что проект сначала нужно восстановить, применяются и к dotnet run.Any requirements for the build, such as that the project must be restored first, apply to dotnet run as well.

Выходные файлы записываются в расположение по умолчанию, которым является bin/<configuration>/<target>.Output files are written into the default location, which is bin/<configuration>/<target>. Например, если у вас есть приложение netcoreapp2.1 и вы запускаете dotnet run, выходные данные помещаются в 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. При необходимости файлы перезаписываются.Files are overwritten as needed. Временные файлы помещаются в каталог obj.Temporary files are placed in the obj directory.

Когда в проекте задано несколько платформ, выполнение dotnet run приводит к ошибке, если только для указания платформы не используется параметр -f|--framework <FRAMEWORK>.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.

Команда dotnet run используется в контексте проектов, а не созданных сборок.The dotnet run command is used in the context of projects, not built assemblies. Если вместо этого вы пытаетесь запустить библиотеку DLL платформозависимого приложения, следует использовать dotnet без команды.If you're trying to run a framework-dependent application DLL instead, you must use dotnet without a command. Например, для выполнения myapp.dll используйте:For example, to run myapp.dll, use:

dotnet myapp.dll

Дополнительные сведения о драйвере dotnet см. в разделе Средства интерфейса командной строки (CLI) .NET Core.For more information on the dotnet driver, see the .NET Core Command Line Tools (CLI) topic.

Для запуска приложения команда dotnet run разрешает зависимости приложения, выходящие за пределы общей среды выполнения, из кэша 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. Из-за использования кэшированных зависимостей не рекомендуется применять команду dotnet run для запуска приложений в рабочей среде.Because it uses cached dependencies, it's not recommended to use dotnet run to run applications in production. Вместо этого создайте развертывание с помощью команды dotnet publish и разверните опубликованные выходные данные.Instead, create a deployment using the dotnet publish command and deploy the published output.

Примечание

Начиная с .NET Core 2.0 нет необходимости выполнять команду dotnet restore, так как она выполняется неявно всеми командами, которые требуют восстановления, например dotnet build и dotnet run.Starting with .NET Core 2.0, you don't have to run dotnet restore because it's run implicitly by all commands, such as dotnet build and dotnet run, that require a restore to occur. Эту команду по-прежнему можно использовать в некоторых сценариях, где необходимо явное восстановление, например в сборках с использованием непрерывной интеграции в Azure DevOps Services или системах сборки, где требуется явно контролировать время восстановления.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.

Эта команда также поддерживает параметры dotnet restore при передаче в длинной форме (например, --source).This command also supports the dotnet restore options when passed in the long form (for example, --source). Параметры в краткой форме, например -s, не поддерживаются.Short form options, such as -s, are not supported.

ПараметрыOptions

--

Отделяет аргументы, предназначенные для dotnet run, от аргументов для выполняемого приложения.Delimits arguments to dotnet run from arguments for the application being run. Все аргументы после разделителя передаются выполняемому приложению.All arguments after this delimiter are passed to the application run.

-c|--configuration {Debug|Release}

Определяет конфигурацию сборки.Defines the build configuration. Значение по умолчанию — Debug.The default value is Debug.

-f|--framework <FRAMEWORK>

Выполняет сборку и запуск приложения с использованием указанной платформы.Builds and runs the app using the specified framework. Эта платформа должна быть указана в файле проекта.The framework must be specified in the project file.

--force

Принудительное разрешение всех зависимостей, даже если последнее восстановление прошло успешно.Forces all dependencies to be resolved even if the last restore was successful. Указание этого флага дает тот же результат, что удаление файла project.assets.json.Specifying this flag is the same as deleting the project.assets.json file.

-h|--help

Выводит краткую справку по команде.Prints out a short help for the command.

--launch-profile <NAME>

Имя профиля запуска (при его наличии), который следует использовать при запуске приложения.The name of the launch profile (if any) to use when launching the application. Профили запуска обычно определяются в файле launchSettings.json и, как правило, называются Development, Staging и Production.Launch profiles are defined in the launchSettings.json file and are typically called Development, Staging, and Production. Дополнительные сведения см. в разделе Работа с несколькими средами.For more information, see Working with multiple environments.

--no-build

Не выполняет сборку проекта перед запуском.Doesn't build the project before running. Он также неявно задает флаг --no-restore.It also implicit sets the --no-restore flag.

--no-dependencies

При восстановлении проекта с перекрестными ссылками между проектами восстанавливает только корневой проект, но не ссылки.When restoring a project with project-to-project (P2P) references, restores the root project and not the references.

--no-launch-profile

Не пытается использовать файл launchSettings.json для настройки приложения.Doesn't try to use launchSettings.json to configure the application.

--no-restore

Не выполняет неявное восстановление при выполнении команды.Doesn't execute an implicit restore when running the command.

-p|--project <PATH>

Задает путь к запускаемому файлу проекта (имя папки или полный путь).Specifies the path of the project file to run (folder name or full path). Если значение не задано, по умолчанию используется текущий каталог.If not specified, it defaults to the current directory.

--runtime <RUNTIME_IDENTIFIER>

Задает целевую среду выполнения для восстановления пакетов.Specifies the target runtime to restore packages for. Список идентификаторов сред выполнения (RID) см. в каталоге RID.For a list of Runtime Identifiers (RIDs), see the RID catalog.

-v|--verbosity <LEVEL>

Задает уровень детализации команды.Sets the verbosity level of the command. Допустимые значения: q[uiet], m[inimal], n[ormal], d[etailed] и diag[nostic].Allowed values are q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic].

ПримерыExamples

Выполнение проекта в текущем каталоге:Run the project in the current directory:

dotnet run

Выполнение указанного проекта:Run the specified project:

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

Выполнение проекта в текущем каталоге (аргумент --help в этом примере передается приложению, так как используется пустой параметр --):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

Восстановление зависимостей и средств для проекта в текущем каталоге с выводом минимального объема выходных данных и последующим запуском проекта (пакет SDK для .NET Core 2.0 и более поздних версий).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