dotnet - управление приложением .NET из командной строки
dotnet
— универсальный драйвер для интерфейса командной строки .NET Core (CLI).
Чтобы получить сведения о среде и доступных командах, выполните следующие действия:
dotnet [--version] [--info] [--list-runtimes] [--list-sdks]
dotnet -h|--help
Выполнение команды (требуется установка пакета SDK):
dotnet [-d|--diagnostics] [-h|--help] [--verbosity ]
[command-options] [arguments]
Запуск приложения:
dotnet [--additionalprobingpath ] [--additional-deps ]
[--fx-version ] [--roll-forward ]
[arguments]
dotnet exec [--additionalprobingpath] [--additional-deps ]
[--fx-version ] [--roll-forward ]
[arguments]
Команда --roll-forward
доступна, начиная с версии .NET Core 3.x. Для .NET Core 2.x следует использовать --roll-forward-on-no-candidate-fx
.
Описание
Команда dotnet
выполняет две функции:
Она предоставляет команды для работы с проектами .NET Core.
Например, команда dotnet build
выполняет построение проекта. Каждая команда определяет свои параметры и аргументы. Все команды поддерживают параметр --help
, позволяющий вывести краткую справку по их использованию.
Запускает приложения .NET Core.
Для запуска приложения необходимо указать путь к его файлу .dll
. Чтобы запустить приложение, необходимо найти и выполнить точку входа, которая в случае использования консольных приложений является методом Main
. Например, команда dotnet myapp.dll
запускает приложение myapp
.
Параметры
Доступны параметры для dotnet
, для выполнения команды, а также для запуска приложения.
Параметры для dotnet
Для dotnet
доступны следующие параметры. Например, dotnet --info
. Выводит сведения о среде.
--info
Выводит подробные сведения об установке .NET Core и среде компьютера, например текущую операционную систему и фиксацию SHA версии .NET Core.
--version
Выводит версию используемого пакета SDK для .NET Core.
--list-runtimes
Выводит список установленных сред выполнения .NET Core. Версия x86 пакета SDK содержит только среды выполнения x86, а в версии x64 пакета SDK содержатся только среды выполнения x64.
--list-sdks
Выводит список установленных пакетов SDK для .NET Core.
-h|--help
Выводит список доступных команд.
Параметры пакета SDK для выполнения команды
Для dotnet
с командой доступны следующие параметры. Например, dotnet build --help
.
-d|--diagnostics
Включает вывод диагностических данных.
-v|--verbosity
Задает уровень детализации команды. Допустимые значения: q[uiet]
, m[inimal]
, n[ormal]
, d[etailed]
и diag[nostic]
. Поддерживается не во всех командах. Дополнительные сведения см. на странице соответствующей команды.
-h|--help
Выводит на экран документацию для определенной команды, например dotnet build --help
.
command options
Для каждой команды определяются относящиеся к ней параметры. Список доступных для команды параметров можно просмотреть на соответствующей ей странице.
Параметры среды выполнения
При запуске приложения в dotnet
доступны следующие параметры. Например, dotnet myapp.dll --roll-forward Major
.
--additionalprobingpath
Путь, содержащий политику проверки и проверяемые сборки.
--additional-deps
Путь к дополнительному файлу .deps.json. Файл deps.json содержит список зависимостей, зависимости компиляции и сведения о версии, используемые для устранения конфликтов сборок.
--depsfile
Путь к файлу deps.json. Файл конфигурации deps.json содержит информацию о зависимостях, необходимых для выполнения приложения. Этот файл создается пакетом SDK для .NET Core.
--runtimeconfig
Путь к файлу runtimeconfig.json. Файл runtimeconfig.json представляет собой файл конфигурации, содержащий параметры среды выполнения.
--roll-forward
Доступно, начиная с пакета SDK для .NET Core 3.0.
Управляет применением наката к приложению. SETTING
может иметь одно из следующих значений. Если тип не указан, по умолчанию используется вариант Minor
.
LatestPatch
— накат до версии с наибольшим номером исправления. Отключает накат дополнительных версий.Minor
— накат до дополнительной версии со следующим по порядку возрастания номером, если запрошенная дополнительная версия отсутствует. Если запрошенная дополнительная версия присутствует, используется политика LatestPatch.Major
— накат до основной версии со следующим по порядку возрастания или дополнительной версии с наименьшим номером, если запрошенная дополнительная версия отсутствует. Если запрошенная основная версия присутствует, используется политика Minor.LatestMinor
— накат до дополнительной версии с наибольшим номером, даже если запрошенная дополнительная версия присутствует. Предназначен для сценариев размещения компонентов.LatestMajor
— накат до основной версии с наибольшим номером и дополнительной версии с наибольшим номером, даже если запрошенная основная версия присутствует. Предназначен для сценариев размещения компонентов.Disable
— накат не выполняется. Привязка только к указанной версии. Эта политика не рекомендуется для общего использования, поскольку отключает возможность наката до последних исправлений. Это значение рекомендуется использовать только для тестирования.
--roll-forward-on-no-candidate-fx
Доступно в пакете SDK для .NET Core 2.x.
Определяет поведение, когда требуемая общая платформа недоступна. Параметр N
может принимать следующие значения:
0
— отключает увеличение дополнительных версий.1
— позволяет увеличивать дополнительный номер версии, но не основной. Это поведение установлено по умолчанию.2
— включает увеличение основных и дополнительных версий.
--fx-version
Версия среды выполнения .NET Core, используемой для запуска приложения.
Этот параметр переопределяет версию первой ссылки на платформу в файле .runtimeconfig.json
приложения. Таким образом, он работает правильно только с одной ссылкой на платформу. Если приложение содержит более одной ссылки на платформы, использование этого параметра может приводить к ошибкам.
Команды dotnet
Общее
Команда | Функция |
dotnet build | Выполняет сборку приложения .NET Core. |
dotnet build-server | Взаимодействует с серверами, запущенными сборкой. |
dotnet clean | Очищает выходные данные сборки. |
dotnet help | Выводит более подробную документацию из Интернета для команды. |
dotnet migrate | Переносит допустимый проект предварительной версии 2 в проект пакета SDK .NET Core 1.0. |
dotnet msbuild | Обеспечивает доступ к командной строке MSBuild. |
dotnet new | Инициализирует проект C# или F# для заданного шаблона. |
dotnet pack | Создает пакет NuGet с кодом. |
dotnet publish | Публикует платформ зависимое или автономное приложение .NET. |
dotnet restore | Восстанавливает зависимости для данного приложения. |
dotnet run | Запускает приложение из источника. |
dotnet sln | Параметры для добавления, удаления и перечисления проектов в файле решения. |
dotnet store | Сохраняет сборки в хранилище пакетов среды выполнения. |
dotnet test | Выполняет тесты с помощью средства запуска тестов. |
Ссылки на проекты
Команда | Функция |
dotnet add reference | Добавляет ссылку на проект. |
dotnet list reference | Перечисляет ссылки на проекты. |
dotnet remove reference | Удаляет ссылку на проект. |
Пакеты NuGet
Команда | Функция |
dotnet add package | Добавляет пакет NuGet. |
dotnet remove package | Удаляет пакет NuGet. |
Команды NuGet
Команда | Функция |
dotnet nuget delete | Удаляет пакет с сервера или из списка. |
dotnet nuget push | Отправляет пакет на сервер и публикует его. |
dotnet nuget locals | Очищает или перечисляет локальные ресурсы NuGet в кэше HTTP-запросов, временном кэше или папке пакетов, используемой на уровне компьютера. |
dotnet nuget add source | Добавляет источник NuGet. |
dotnet nuget disable source | Отключает источник NuGet. |
dotnet nuget enable source | Включает источник NuGet. |
dotnet nuget list source | Перечисляет все настроенные источники NuGet. |
dotnet nuget remove source | Удаляет источник NuGet. |
dotnet nuget update source | Обновляет источник NuGet. |
Команды глобального, установочного и локального средства
Средства — это консольные приложения, которые устанавливаются из пакетов NuGet и вызываются из командной строки. Вы можете писать средства самостоятельно или устанавливать средства, написанные другими. Средства также называются глобальными средствами, средствами пути к средству и локальными средствами. Глобальные и установочные средства доступны, начиная с версии пакета SDK .NET Core 2.1. Локальные средства доступны в пакете SDK для .NET Core, начиная с версии 3.0.
Команда | Функция |
dotnet tool install | Устанавливает средство на компьютере. |
dotnet tool list | Выводит все глобальные, установочные и локальные средства, установленные на компьютере. |
dotnet tool uninstall | Удаляет средство с компьютера. |
dotnet tool update | Обновляет средство, установленное на компьютере. |
Дополнительные средства
Ряд средств, которые ранее были доступны только для отдельных проектов через DotnetCliToolReference
, стали частью пакета SDK для .NET начиная с версии 2.1.300. Эти средства перечислены в следующей таблице.
Средство | Функция |
dev-certs | Создает сертификаты разработки и управляет ими. |
ef | Средства командной строки для Entity Framework Core. |
sql-cache | Средства командной строки для кэша SQL Server. |
user-secrets | Управляет секретами пользователей для разработки. |
watch | Запускает наблюдатель за файлами, который выполняет команду при изменении файлов. |
Дополнительные сведения о каждом средстве можно получить с помощью команды dotnet --help
.
Примеры
Создание консольного приложения .NET Core:
dotnet new console
Сборка проекта и его зависимостей в указанном каталоге:
dotnet build
Запуск приложения:
dotnet myapp.dll
Переменные среды
DOTNET_ROOT
, DOTNET_ROOT(x86)
Указывает расположение сред выполнения .NET Core, если оно отличается от задаваемого по умолчанию. В ОС Windows по умолчанию используется расположение C:\Program Files\dotnet
. В ОС Linux и macOS по умолчанию используется расположение /usr/share/dotnet
. Эта переменная среды используется только при запуске приложений с помощью созданных исполняемых файлов (apphost). При запуске 32-разрядного исполняемого файла в 64-разрядной ОС вместо нее используется DOTNET_ROOT(x86)
.
DOTNET_PACKAGES
Папка глобальных пакетов. Если значение не задано, то по умолчанию в Unix используется ~/.nuget/packages
, а в Windows — %userprofile%\.nuget\packages
.
DOTNET_SERVICING
Задает расположение служебного индекса, который будет использоваться общим узлом при загрузке среды выполнения.
DOTNET_NOLOGO
Указывает, отображаются ли сообщения приветствия и данные телеметрии .NET Core при первом запуске. Установите значение true
для отключения звука этих сообщений (принимаются значения true
, 1
или yes
) или установите значение false
для разрешения звука (принимаются значения false
, 0
или no
). Если не задано, по умолчанию используется false
и при первом запуске будут отображаться сообщения. Этот флаг не влияет на данные телеметрии (см. DOTNET_CLI_TELEMETRY_OPTOUT
, чтобы отменить отправку телеметрии).
DOTNET_CLI_TELEMETRY_OPTOUT
Указывает, собираются ли данные по использованию средств .NET Core для отправки в корпорацию Майкрософт. Установите значение true
, чтобы отказаться от функций телеметрии (поддерживаются значения true
, 1
или yes
). Также можно установить значение false
, чтобы согласиться на функции телеметрии (поддерживаются значения false
, 0
или no
). Если значение не задано, то по умолчанию используется false
, то есть функция телеметрии включена.
DOTNET_MULTILEVEL_LOOKUP
Указывает, разрешается ли из глобального расположения среда выполнения .NET Core, общая платформа или пакет SDK. Если не задано, используется значение по умолчанию 1 (логическое значение true
). Задайте значение 0 (логическое значение false
), чтобы не разрешать эти сущности из глобального расположения и использовать изолированные установки .NET Core.
DOTNET_ROLL_FORWARD
Доступно, начиная с .NET Core версии 3.x.
Определяет поведение наката. Дополнительные сведения см. в описании параметра --roll-forward
, приведенном выше в этой статье.
DOTNET_ROLL_FORWARD_TO_PRERELEASE
Доступно, начиная с .NET Core версии 3.x.
Если задано значение 1
(включено), поддерживается накат версии выпуска на предварительную версию. По умолчанию (если 0
отключено) при запросе версии выпуска среды выполнения .NET Core накат будет выполняться только для установленных версий выпуска.
DOTNET_ROLL_FORWARD_ON_NO_CANDIDATE_FX
Доступно в пакете SDK для .NET Core версии 2.x.
Отключает накат дополнительных версий, если установлено 0
.
Этот параметр в .NET Core 3.0 заменяется DOTNET_ROLL_FORWARD
. Вместо этого следует использовать новый параметр.
DOTNET_CLI_UI_LANGUAGE
Задает язык пользовательского интерфейса CLI с помощью значения языкового стандарта, например en-us
. Поддерживаются те же значения, что и для Visual Studio. Дополнительные сведения см. в разделе, посвященном изменению языка установщика, в документации по установке Visual Studio. Применяются правила диспетчера ресурсов .NET, в связи с чем вам не нужно выбирать точное соответствие — можно также выбрать потомков в дереве CultureInfo
. Например, если задать значение fr-CA
, интерфейс командной строки будет находить и использовать переводы fr
. Если задать язык, который не поддерживается, для интерфейса командной строки будет использоваться английский язык.
DOTNET_DISABLE_GUI_ERRORS
Для создаваемых исполняемых файлов с поддержкой графического пользовательского интерфейса отключает всплывающее диалоговое окно, которое обычно выводится для определенных классов ошибок. В таких случаях выполняются только запись в stderr
и выход.
DOTNET_ADDITIONAL_DEPS
Эквивалентно параметру --additional-deps
интерфейса командной строки.
DOTNET_RUNTIME_ID
Переопределяет обнаруженный RID.
DOTNET_SHARED_STORE
Расположение общего хранилища, которое в некоторых случаях используется для разрешения сборки.
DOTNET_STARTUP_HOOKS
Список сборок, из которого осуществляется загрузка и выполнение перехватчиков запуска.
DOTNET_BUNDLE_EXTRACT_BASE_DIR
Доступно, начиная с пакета .NET Core версии 3.x.
Указывает каталог, в который извлекается однофайловое приложение перед выполнением.
COREHOST_TRACE
, COREHOST_TRACEFILE
, COREHOST_TRACE_VERBOSITY
Управляет диагностической трассировкой из компонентов размещения, таких как dotnet.exe
, hostfxr
и hostpolicy
.
COREHOST_TRACE=[0/1]
— по умолчанию имеет значение0
— трассировка отключена. Значение1
включает диагностическую трассировку.COREHOST_TRACEFILE=
— действует, только если трассировка включена параметромCOREHOST_TRACE=1
. Если включен этот параметр, трассировочные сведения записываются в указанный файл, а в противном случае передаются вstderr
. Доступно, начиная с пакета .NET Core версии 3.x.COREHOST_TRACE_VERBOSITY=[1/2/3/4]
— по умолчанию имеет значение4
. Этот параметр используется, только если трассировка включена параметромCOREHOST_TRACE=1
. Доступно, начиная с пакета .NET Core версии 3.x.4
— записываются все трассировочные данные.3
— записываются только информационные сообщения, предупреждения и ошибки.2
— записываются только предупреждения и ошибки.1
— записываются только сообщения об ошибках.
Только полноправные пользователи могут оставлять комментарии. Аутентифицируйтесь пожалуйста, используя сервисы.