dotnet run
Эта статья относится к: ✔️ пакету SDK для .NET Core 3.1 и более поздних версий
Имя.
dotnet run
— выполняет исходный код без дополнительных явных команд компиляции или запуска.
Краткие сведения
dotnet run [-a|--arch <ARCHITECTURE>] [-c|--configuration <CONFIGURATION>]
[-f|--framework <FRAMEWORK>] [--force] [--interactive]
[--launch-profile <NAME>] [--no-build]
[--no-dependencies] [--no-launch-profile] [--no-restore]
[--os <OS>] [--project <PATH>] [-r|--runtime <RUNTIME_IDENTIFIER>]
[--tl:[auto|on|off]] [-v|--verbosity <LEVEL>]
[[--] [application arguments]]
dotnet run -h|--help
Description
dotnet run
— это удобное средство для запуска приложения из исходного кода одной командой. Это полезно для быстрой последовательной разработки из командной строки. В отношении сборки кода эта команда зависима от команды dotnet build
. Все требования к сборке применяются dotnet run
и к.
Примечание.
dotnet run
не учитывает такие аргументы, как /property:property=value
, которые учитывает dotnet build
.
Выходные файлы записываются в расположение по умолчанию, которым является bin/<configuration>/<target>
. Например, если у вас есть приложение netcoreapp2.1
и вы запускаете dotnet run
, выходные данные помещаются в bin/Debug/netcoreapp2.1
. При необходимости файлы перезаписываются. Временные файлы помещаются в каталог obj
.
Когда в проекте задано несколько платформ, выполнение dotnet run
приводит к ошибке, если только для указания платформы не используется параметр -f|--framework <FRAMEWORK>
.
Команда dotnet run
используется в контексте проектов, а не созданных сборок. Если вместо этого вы пытаетесь запустить библиотеку DLL платформозависимого приложения, следует использовать dotnet без команды. Например, для выполнения myapp.dll
используйте:
dotnet myapp.dll
Дополнительные сведения о драйвере dotnet
см. в разделе Средства интерфейса командной строки (CLI) .NET.
Для запуска приложения команда dotnet run
разрешает зависимости приложения, выходящие за пределы общей среды выполнения, из кэша NuGet. Из-за использования кэшированных зависимостей не рекомендуется применять команду dotnet run
для запуска приложений в рабочей среде. Вместо этого создайте развертывание с помощью команды dotnet publish
и разверните опубликованные выходные данные.
Неявное восстановление
Вам не нужно выполнять команду dotnet restore
, так как она выполняется неявно всеми командами, которые требуют восстановления, например dotnet new
, dotnet build
, dotnet run
, dotnet test
, dotnet publish
и dotnet pack
. Чтобы отключить неявное восстановление, используйте параметр --no-restore
.
Команду dotnet restore
по-прежнему удобно использовать в некоторых сценариях, где необходимо явное восстановление, например в сборках с использованием непрерывной интеграции в Azure DevOps Services или системах сборки, где требуется явно контролировать время восстановления.
Сведения об управлении веб-каналами NuGet см. в документации по dotnet restore
.
Эта команда поддерживает параметры dotnet restore
при передаче в длинной форме (например, --source
). Параметры в краткой форме, например -s
, не поддерживаются.
Скачивание манифестов рабочих нагрузок
При выполнении этой команды запускается асинхронное фоновое скачивание оповестительных манифестов для рабочих нагрузок. Если скачивание по-прежнему выполняется по завершении этой команды, оно останавливается. Дополнительные сведения см. в разделе Оповестительные манифесты.
Параметры
--
Отделяет аргументы, предназначенные для
dotnet run
, от аргументов для выполняемого приложения. Все аргументы после разделителя передаются выполняемому приложению.
-a|--arch <ARCHITECTURE>
Указывает целевую архитектуру. Это сокращенный синтаксис для настройки идентификатора среды выполнения (RID), где указанное значение объединяется с RID по умолчанию. Например, если на компьютере
win-x64
указать--arch x86
, идентификатору RID присваивается значениеwin-x86
. При использовании этого параметра не используйте параметр-r|--runtime
. Этот параметр доступен с выпуска .NET 6, предварительная версия 7.
-c|--configuration <CONFIGURATION>
Определяет конфигурацию сборки. По умолчанию для большинства проектов используется
Debug
, но можно переопределить параметры конфигурации сборки в проекте.
-f|--framework <FRAMEWORK>
Выполняет сборку и запуск приложения с использованием указанной платформы. Эта платформа должна быть указана в файле проекта.
--force
Принудительное разрешение всех зависимостей, даже если последнее восстановление прошло успешно. Указание этого флага дает тот же результат, что удаление файла project.assets.json.
-?|-h|--help
Выводит описание использования команды.
--interactive
Позволяет команде остановиться и дождаться, пока пользователь выполнит действие или введет данные. Например, чтобы завершить проверку подлинности. Доступно, начиная с пакета SDK для .NET Core 3.0.
--launch-profile <NAME>
Имя профиля запуска (при его наличии), который следует использовать при запуске приложения. Профили запуска обычно определяются в файле launchSettings.json и, как правило, называются
Development
,Staging
иProduction
. Дополнительные сведения см. в разделе Работа с несколькими средами.--no-build
Не выполняет сборку проекта перед запуском. Он также неявно задает флаг
--no-restore
.--no-dependencies
При восстановлении проекта с перекрестными ссылками между проектами восстанавливает только корневой проект, но не ссылки.
--no-launch-profile
Не пытается использовать файл launchSettings.json для настройки приложения.
--no-restore
Не выполняет неявное восстановление при выполнении команды.
--os <OS>
Позволяет указать целевую операционную систему. Это сокращенный синтаксис для настройки идентификатора среды выполнения (RID), где указанное значение объединяется с RID по умолчанию. Например, если на компьютере
win-x64
указать--os linux
, идентификатору RID присваивается значениеlinux-x64
. При использовании этого параметра не используйте параметр-r|--runtime
. Доступно с .NET 6.
--project <PATH>
Задает путь к запускаемому файлу проекта (имя папки или полный путь). Если значение не задано, по умолчанию используется текущий каталог.
Сокращение
-p
для--project
является устаревшим начиная с пакета SDK для .NET 6. В течение ограниченного времени, начиная с версии .NET 6 RC1 SDK,-p
по-прежнему можно использовать для--project
, несмотря на предупреждение о прекращении поддержки. Если аргумент, указанный для параметра, не содержит=
, команда принимает-p
в качестве короткой формы для--project
. В противном случае команда предполагает, что-p
является короткой формой для--property
. Эти гибкие возможности использования-p
для--project
будут доступны в .NET 7.--property:<NAME>=<VALUE>
Задает одно свойство MSBuild или несколько. Укажите несколько свойств, разделяя их точкой с запятой, или укажите их путем повтора команды.
--property:<NAME1>=<VALUE1>;<NAME2>=<VALUE2> --property:<NAME1>=<VALUE1> --property:<NAME2>=<VALUE2>
Короткая форма
-p
может использоваться для--property
. Если аргумент, указанный для параметра, содержит=
,-p
принимается как короткая формат для--property
. В противном случае команда предполагает, что-p
является короткой формой для--project
.Чтобы передать
--property
в приложение вместо того, чтобы задать свойство MSBuild, укажите параметр после разделителя синтаксиса--
, например:dotnet run -- --property name=value
-r|--runtime <RUNTIME_IDENTIFIER>
Задает целевую среду выполнения для восстановления пакетов. Список идентификаторов сред выполнения (RID) см. в каталоге RID.
--tl:[auto|on|off]
Указывает, следует ли использовать средство ведения журнала терминала для выходных данных сборки. Значением по умолчанию является
auto
то, что сначала проверяет среду перед включением ведения журнала терминалов. Проверка среды проверяет, что терминал может использовать современные выходные функции и не использует перенаправленные стандартные выходные данные перед включением нового средства ведения журнала.on
пропускает проверку среды и включает ведение журнала терминалов.off
пропускает проверку среды и использует средство ведения журнала консоли по умолчанию.Средство ведения журнала терминала показывает этап восстановления, за которым следует этап сборки. На каждом этапе в нижней части терминала отображаются строительные проекты. Каждый проект, который создает выходные данные как целевого объекта MSBuild, который в настоящее время создается, так и время, затраченное на этот целевой объект. Эти сведения можно найти, чтобы узнать больше о сборке. После завершения сборки проекта записывается один раздел "сборка завершена", который записывает:
- Имя созданного проекта.
- Целевая платформа (если она используется с несколькими целевыми объектами).
- Состояние этой сборки.
- Основные выходные данные этой сборки (которая гиперссылок).
- Все диагностика, созданные для этого проекта.
Этот параметр доступен начиная с .NET 8.
-v|--verbosity <LEVEL>
Задает уровень детализации команды. Допустимые значения:
q[uiet]
,m[inimal]
,n[ormal]
,d[etailed]
иdiag[nostic]
. Значение по умолчанию —minimal
. Дополнительные сведения см. в разделе LoggerVerbosity.
Примеры
Выполнение проекта в текущем каталоге:
dotnet run
Выполнение указанного проекта:
dotnet run --project ./projects/proj1/proj1.csproj
Выполните проект в текущем каталоге, указав конфигурацию выпуска.
dotnet run --property:Configuration=Release
Выполнение проекта в текущем каталоге (аргумент
--help
в этом примере передается приложению, так как используется пустой параметр--
):dotnet run --configuration Release -- --help
Восстановление зависимостей и средств для проекта в текущем каталоге с выводом минимального объема выходных данных и последующим запуском проекта.
dotnet run --verbosity m