Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
В этой статье вы узнаете о переменных среды, используемых .NET. Одни переменные среды используются средой выполнения .NET, а другие используются только пакетом SDK для .NET и .NET CLI. Некоторые переменные среды используются всеми тремя компонентами.
Переменные среды выполнения .NET
В этом разделе определяются следующие переменные среды:
DOTNET_SYSTEM_NET_HTTP_*DOTNET_SYSTEM_GLOBALIZATION_*DOTNET_SYSTEM_GLOBALIZATION_USENLSDOTNET_SYSTEM_NET_SOCKETS_*DOTNET_SYSTEM_NET_DISABLEIPV6DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER-
DOTNET_RUNNING_IN_CONTAINERиDOTNET_RUNNING_IN_CONTAINERS. DOTNET_SYSTEM_CONSOLE_ALLOW_ANSI_COLOR_REDIRECTION-
DOTNET_SYSTEM_DIAGNOSTICSи связанные переменные DOTNET_DiagnosticPortsDOTNET_DefaultDiagnosticPortSuspendDOTNET_EnableDiagnosticsDOTNET_EnableDiagnostics_IPCDOTNET_EnableDiagnostics_DebuggerDOTNET_EnableDiagnostics_Profiler- Переменные EventPipe
Дополнительные сведения о настройке среды выполнения .NET см. в параметрах конфигурации среды выполнения .NET.
DOTNET_SYSTEM_NET_HTTP_*
Существует несколько глобальных параметров переменной среды HTTP:
DOTNET_SYSTEM_NET_HTTP_ENABLEACTIVITYPROPAGATION- Указывает, следует ли включать распространение действия обработчика диагностики для глобальных параметров HTTP.
DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_HTTP2SUPPORT- Если задано значение
falseили0, отключает поддержку HTTP/2, которая включена по умолчанию.
- Если задано значение
DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_HTTP3SUPPORT- Если задано значение
trueили1, отключает поддержку HTTP/3, которая включена по умолчанию.
- Если задано значение
DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_HTTP2FLOWCONTROL_DISABLEDYNAMICWINDOWSIZING- Если задано значение
falseили0, переопределяет значение по умолчанию и отключает алгоритм динамического масштабирования окон HTTP/2.
- Если задано значение
DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_FLOWCONTROL_MAXSTREAMWINDOWSIZE- Значение по умолчанию — 16 МБ. Если значение переопределено, максимальный размер окна приема потока HTTP/2 не может быть меньше 65 535.
DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_FLOWCONTROL_STREAMWINDOWSCALETHRESHOLDMULTIPLIER- По умолчанию это — 1.0. Если значение переопределено, более высокие значения приводят к сокращению размера окна, но замедляют операции скачивания. Не может быть меньше 0.
DOTNET_SYSTEM_GLOBALIZATION_*
-
DOTNET_SYSTEM_GLOBALIZATION_INVARIANT: см. сведения об установке инвариантного режима. -
DOTNET_SYSTEM_GLOBALIZATION_PREDEFINED_CULTURES_ONLY: указывает, следует ли загружать только предопределенные языки и региональные параметры. -
DOTNET_SYSTEM_GLOBALIZATION_APPLOCALICU: указывает, следует ли использовать Международные компоненты для Юникода (ICU) с параметром app-local. Дополнительные сведения см. в разделе ICU с параметром app-local.
Установка инвариантного режима
Приложения могут включать инвариантный режим одним из следующих способов.
В файле проекта:
<PropertyGroup> <InvariantGlobalization>true</InvariantGlobalization> </PropertyGroup>В файле runtimeconfig.json:
{ "runtimeOptions": { "configProperties": { "System.Globalization.Invariant": true } } }Путем задания
DOTNET_SYSTEM_GLOBALIZATION_INVARIANTилиtrueв качестве значения переменной среды1.
Important
Значение, заданное в файле проекта или файле runtimeconfig.json имеет более высокий приоритет, чем переменная среды.
Дополнительные сведения см. в статье Инвариантный режим глобализации .NET.
DOTNET_SYSTEM_GLOBALIZATION_USENLS
Применимо только к Windows. Чтобы использовать поддержку национальных языков (NLS) в глобализации, задайте переменной DOTNET_SYSTEM_GLOBALIZATION_USENLS значение true или 1. Чтобы не использовать эту поддержку, задайте переменной DOTNET_SYSTEM_GLOBALIZATION_USENLS значение false или 0.
DOTNET_SYSTEM_NET_SOCKETS_*
В этом разделе основное внимание уделяется двум переменным среды System.Net.Sockets:
DOTNET_SYSTEM_NET_SOCKETS_INLINE_COMPLETIONSDOTNET_SYSTEM_NET_SOCKETS_THREAD_COUNT
Продолжения сокетов отправляются в System.Threading.ThreadPool из потока событий. Это позволяет избежать блокировку обработки событий продолжениями. Чтобы разрешить выполнение продолжений непосредственно в потоке событий, задайте DOTNET_SYSTEM_NET_SOCKETS_INLINE_COMPLETIONS значение 1. По умолчанию он отключен.
Note
Этот параметр может ухудшить производительность, если имеется дорогостоящая работа, которая в итоге будет удерживать поток ввода-вывода дольше, чем требуется. Проверьте, что этот параметр не приводит к снижению производительности.
Используя тесты TechEmpower, которые создают много небольших сокетов считывает и записывает под очень высокую нагрузку, один обработчик сокетов способен поддерживать нагрузку до тридцати x64 и восемь ядер ЦП Arm64. В подавляющем большинстве реальных сценариев никогда не будет создаваться такая огромная нагрузка (сотни тысяч запросов в секунду), и почти всегда достаточно одного производителя. Однако, чтобы гарантировать возможность обработки экстремальных нагрузок, можно переопределить вычисленное значение с помощью DOTNET_SYSTEM_NET_SOCKETS_THREAD_COUNT. Если значение не переопределено, используется следующее значение:
- Если
DOTNET_SYSTEM_NET_SOCKETS_INLINE_COMPLETIONSимеет значение1, используется значение Environment.ProcessorCount. - Если
DOTNET_SYSTEM_NET_SOCKETS_INLINE_COMPLETIONSэто не1так, RuntimeInformation.ProcessArchitecture вычисляется:- Если в arm или Arm64 для ядер для каждого значения ядра задано
8значение , в противном случае30.
- Если в arm или Arm64 для ядер для каждого значения ядра задано
- При использовании определенных ядер на подсистему максимальное значение количества ядер на подсистему составляет
1или Environment.ProcessorCount.
DOTNET_SYSTEM_NET_DISABLEIPV6
Помогает определить, отключен ли протокол IP версии 6 (IPv6). Если задано значение true или 1, IPv6 отключен, если в System.AppContext не указано иное.
DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER
Чтобы настроить процесс для использования старого класса HttpClientHandler, можно использовать один из приведенных ниже механизмов.
В коде используйте AppContext класс:
AppContext.SetSwitch("System.Net.Http.UseSocketsHttpHandler", false);
Параметр AppContext можно также задать в файле конфигурации. Дополнительные сведения о настройке параметров см. в разделе AppContext для потребителей библиотек.
То же самое можно сделать с помощью переменной среды DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER. Чтобы не использовать эту возможность, задайте значение false или 0.
Note
Начиная с .NET 5 этот параметр HttpClientHandler больше недоступен.
DOTNET_RUNNING_IN_CONTAINER и DOTNET_RUNNING_IN_CONTAINERS.
Официальные образы .NET (Windows и Linux) задают хорошо известные переменные среды:
DOTNET_RUNNING_IN_CONTAINERDOTNET_RUNNING_IN_CONTAINERS
Эти значения используются для определения моментов выполнения рабочих нагрузок ASP.NET Core в контексте контейнера.
DOTNET_SYSTEM_CONSOLE_ALLOW_ANSI_COLOR_REDIRECTION
Если Console.IsOutputRedirected имеет значение true, можно создать цветовой код ANSI, задав DOTNET_SYSTEM_CONSOLE_ALLOW_ANSI_COLOR_REDIRECTION значение 1 или true.
DOTNET_SYSTEM_DIAGNOSTICS и связанные переменные
-
DOTNET_SYSTEM_DIAGNOSTICS_DEFAULTACTIVITYIDFORMATISHIERARCHIAL: если задано значение1илиtrue, форматом идентификатора действия по умолчанию является иерархический. -
DOTNET_SYSTEM_RUNTIME_CACHING_TRACING: при запуске в режиме отладки трассировку можно включить, задав переменной значениеtrue.
DOTNET_DiagnosticPorts
Настраивает альтернативные конечные точки, в которых средства диагностики могут взаимодействовать с средой выполнения .NET. Дополнительные сведения см. в документации по портам диагностики.
DOTNET_DefaultDiagnosticPortSuspend
Настраивает среду выполнения для приостановки во время запуска и ожидания команды Diagnostics IPC ResumeStartup из указанного порта диагностики при установке значения 1. Значение по умолчанию — 0. Дополнительные сведения см. в документации по портам диагностики.
DOTNET_EnableDiagnostics
Если задано значение 0, отключает отладку, профилирование и другие диагностика через порт диагностики и не может быть переопределено другими параметрами диагностика. По умолчанию — 1.
DOTNET_EnableDiagnostics_IPC
Начиная с .NET 8, если задано значение0, отключает порт диагностики и не может быть переопределен другими параметрами диагностика. По умолчанию — 1.
DOTNET_EnableDiagnostics_Debugger
Начиная с .NET 8, если задано значение0, отключает отладку и не может быть переопределена другими параметрами диагностика. По умолчанию — 1.
DOTNET_EnableDiagnostics_Profiler
Начиная с .NET 8, если задано значение0, отключает профилирование и не может быть переопределено другими параметрами диагностика. По умолчанию — 1.
Переменные EventPipe
Дополнительные сведения см . в переменных среды EventPipe.
-
DOTNET_EnableEventPipe: если задано значение1, включает трассировку через EventPipe. -
DOTNET_EventPipeOutputPath: выходной путь, в котором будет записана трассировка. -
DOTNET_EventPipeOutputStreaming: если задано значение1, включает потоковую передачу в выходной файл во время работы приложения. По умолчанию данные трассировки накапливаются в циклический буфер, а содержимое записывается при завершении работы приложения.
Переменные среды пакета SDK для .NET и CLI
В этом разделе описываются следующие переменные среды:
-
DOTNET_ROOT, ,DOTNET_ROOT(x86)DOTNET_ROOT_X86DOTNET_ROOT_X64 DOTNET_HOST_PATHDOTNET_LAUNCH_PROFILENUGET_PACKAGESDOTNET_SERVICINGDOTNET_NOLOGODOTNET_CLI_PERF_LOGDOTNET_GENERATE_ASPNET_CERTIFICATEDOTNET_ADD_GLOBAL_TOOLS_TO_PATHDOTNET_CLI_TELEMETRY_OPTOUTDOTNET_SKIP_FIRST_TIME_EXPERIENCEDOTNET_MULTILEVEL_LOOKUPDOTNET_ROLL_FORWARDDOTNET_ROLL_FORWARD_TO_PRERELEASEDOTNET_CLI_FORCE_UTF8_ENCODINGDOTNET_CLI_UI_LANGUAGEDOTNET_DISABLE_GUI_ERRORSDOTNET_ADDITIONAL_DEPSDOTNET_RUNTIME_IDDOTNET_SHARED_STOREDOTNET_STARTUP_HOOKSDOTNET_BUNDLE_EXTRACT_BASE_DIRDOTNET_CLI_HOMEDOTNET_CLI_CONTEXT_*DOTNET_CLI_WORKLOAD_UPDATE_NOTIFY_DISABLEDOTNET_CLI_WORKLOAD_UPDATE_NOTIFY_INTERVAL_HOURSDOTNET_SKIP_WORKLOAD_INTEGRITY_CHECKDOTNET_TOOLS_ALLOW_MANIFEST_IN_ROOTDOTNET_HOST_TRACECOREHOST_TRACESuppressNETCoreSdkPreviewMessage- Настройка MSBuild в .NET CLI
DOTNET_NEW_PREFERRED_LANG-
dotnet watchпеременные среды
DOTNET_ROOT, , DOTNET_ROOT(x86)DOTNET_ROOT_X86DOTNET_ROOT_X64
Указывает расположение сред выполнения .NET, если оно отличается от задаваемого по умолчанию. В ОС Windows по умолчанию используется расположение C:\Program Files\dotnet. Расположение по умолчанию в macOS /usr/local/share/dotnet. Расположение по умолчанию для сред выполнения x64 в ОС arm64 находится в подпапке x64 (так C:\Program Files\dotnet\x64 в окнах и /usr/local/share/dotnet/x64 macOS). Расположение по умолчанию в Linux зависит от метода дистрибутива и установки. Расположение по умолчанию в Ubuntu 22.04 — /usr/share/dotnet (при установке packages.microsoft.comиз ) или /usr/lib/dotnet (при установке из веб-канала Jammy). Дополнительные сведения см. на следующих ресурсах:
- Устранение неполадок при запуске приложения
- Проблема GitHub dotnet/core#7699
- Проблема GitHub dotnet/runtime#79237
Эти переменные среды используются только при запуске приложений с помощью созданных исполняемых файлов (apphosts). Порядок, в котором рассматриваются переменные среды:
-
DOTNET_ROOT_<ARCH>, где<ARCH>находится архитектура запущенного исполняемого файла (apphost). Например:-
DOTNET_ROOT_ARM64используется для процесса Arm64. -
DOTNET_ROOT_X64используется для процесса x64. Этот процесс может выполняться в архитектуре x64 или Arm64. -
DOTNET_ROOT_X86используется для процесса x86. Этот процесс может выполняться в архитектуре x86 или x64.
-
-
DOTNET_ROOT(x86)используется, когда 32-разрядный процесс выполняется в 64-разрядной версии Windows. В других случаях эта переменная среды игнорируется. -
DOTNET_ROOT.
DOTNET_HOST_PATH
Указывает абсолютный dotnet путь к узлу (dotnet.exe в Windows, dotnet в Linux и macOS). Этот путь представляет либо узел, используемый для запуска текущего dotnet процесса, либо узел, который будет использоваться при выполнении dotnet команд для текущего сборки проекта при выполнении в MSBuild. Пакет SDK для .NET использует эту переменную, чтобы помочь средствам, которые выполняются во время команд пакета SDK для .NET, убедитесь, что они используют ту же dotnet конфигурацию узла для любых дочерних dotnet процессов, которые они создают в течение длительности команды. Средства и любая логика MSBuild, выполняемые в сборке и вызывающие двоичные файлы через dotnet узел, должны учитывать эту переменную среды, чтобы обеспечить согласованность работы.
Начиная с Visual Studio 2026, MSBuild в Visual Studio также гарантирует, что DOTNET_HOST_PATH он установлен для всех сборок проектов пакета SDK для .NET. Для обеспечения наибольшей согласованности все средства и логики MSBuild, которые хотят использовать один и тот же двоичный объект dotnet , что и тот, который породил сборку, должен полагаться DOTNET_HOST_PATH на нее, и следует рассмотреть возможность создания диагностики (предупреждения или ошибки), если переменная отсутствует.
Note
DOTNET_HOST_PATH не является общим решением для поиска dotnet узла. Он предназначен только для использования двоичными файлами и инструментами, которые вызываются пакетом SDK для .NET или MSBuild.
DOTNET_LAUNCH_PROFILE
Команда dotnet run задает эту переменную выбранному профилю запуска.
Учитывая следующий файл launchSettings.json :
{
"profiles": {
"First": {
"commandName": "Project",
},
"Second": {
"commandName": "Project",
}
}
}
И следующий файл Program.cs :
var value = Environment.GetEnvironmentVariable("DOTNET_LAUNCH_PROFILE");
Console.WriteLine($"DOTNET_LAUNCH_PROFILE={value}");
В следующих сценариях отображаются выходные данные:
Запуск профиля, указанного и существующего
$ dotnet run --launch-profile First DOTNET_LAUNCH_PROFILE=FirstНе указан профиль запуска, первый выбранный
$ dotnet run DOTNET_LAUNCH_PROFILE=FirstУказанный профиль запуска, но не существует
$ dotnet run --launch-profile Third The launch profile "Third" could not be applied. A launch profile with the name 'Third' doesn't exist. DOTNET_LAUNCH_PROFILE=Запуск без профиля
$ dotnet run --no-launch-profile DOTNET_LAUNCH_PROFILE=
NUGET_PACKAGES
Папка глобальных пакетов. Если значение не задано, то по умолчанию в Unix используется ~/.nuget/packages, а в Windows — %userprofile%\.nuget\packages.
DOTNET_SERVICING
Задает расположение служебного индекса, который будет использоваться общим узлом при загрузке среды выполнения.
DOTNET_NOLOGO
Указывает, отображаются ли сообщения приветствия и данные телеметрии .NET при первом запуске. Установите значение true для отключения звука этих сообщений (принимаются значения true, 1 или yes) или установите значение false для разрешения звука (принимаются значения false, 0 или no). Если значение не задано, по умолчанию используется false, и сообщения будут отображаться при первом запуске. Этот флаг не влияет на данные телеметрии (см. DOTNET_CLI_TELEMETRY_OPTOUT, чтобы отменить отправку телеметрии).
DOTNET_CLI_PERF_LOG
Указывает, записываются ли в журнал сведения о производительности текущего сеанса CLI. Включена, если задано значение 1, true или yes. Эта функция отключена по умолчанию.
DOTNET_GENERATE_ASPNET_CERTIFICATE
Указывает, следует ли создавать сертификат ASP.NET Core. Значение по умолчанию — true, но его можно переопределить, задав для этой переменной среды значения 0, false или no.
DOTNET_ADD_GLOBAL_TOOLS_TO_PATH
Указывает, следует ли добавлять глобальные средства в переменную среды PATH. Значение по умолчанию — true. Чтобы не добавлять глобальные средства, задайте значения 0, false или no.
DOTNET_CLI_TELEMETRY_OPTOUT
Указывает, собираются ли данные по использованию средств .NET для отправки в корпорацию Майкрософт. Установите значение true, чтобы отказаться от функций телеметрии (поддерживаются значения true, 1 или yes). В противном случае задайте для false входа в функции телеметрии (значения false0или no принятые). Если значение не задано, то по умолчанию используется false, то есть функция телеметрии включена.
DOTNET_SKIP_FIRST_TIME_EXPERIENCE
Если для DOTNET_SKIP_FIRST_TIME_EXPERIENCE задано значение true, папка NuGetFallbackFolder не будет развернута на диске и отобразиться более короткое приветственное сообщение и уведомление телеметрии.
Note
Эта переменная среды больше не поддерживается в .NET Core 3.0 и более поздних версиях.
Используйте DOTNET_NOLOGO в качестве замены.
DOTNET_MULTILEVEL_LOOKUP
Указывает, разрешена ли среда выполнения .NET, общая платформа или пакет SDK из глобального расположения. Если не задано, используется значение по умолчанию 1 (логическое значение true). Задайте для значения 0 (логического false) значение, чтобы не разрешаться из глобального расположения и изолированы установки .NET. Дополнительные сведения о многоуровневом поиске см. в разделе Многоуровневый поиск SharedFX.
Note
Эта переменная среды применяется только к приложениям, предназначенным для .NET 6 и более ранних версий. Начиная с .NET 7. .NET ищет только платформы в одном расположении. Дополнительные сведения см. в разделе "Поиск на нескольких уровнях" отключен.
DOTNET_ROLL_FORWARD
Определяет поведение наката. Дополнительные сведения см . в --roll-forward параметре dotnet команды.
DOTNET_ROLL_FORWARD_TO_PRERELEASE
Если задано значение 1 (включено), поддерживается накат версии выпуска на предварительную версию. По умолчанию (если 0 отключено) при запросе версии выпуска среды выполнения .NET накат будет выполняться только для установленных версий выпуска.
Дополнительные сведения см . в --roll-forward параметре dotnet команды.
DOTNET_CLI_FORCE_UTF8_ENCODING
Принудительно использует кодировку UTF-8 в консоли, даже для более старых версий Windows 10, которые не полностью поддерживают UTF-8. Дополнительные сведения см. в разделе SDK, который больше не изменяет кодировку консоли после завершения.
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
Указывает каталог, в который извлекается однофайловое приложение перед выполнением.
Дополнительные сведения об однофайловых исполняемых файлах см. здесь.
DOTNET_CLI_HOME
Указывает расположение, в которое должны быть записаны вспомогательные файлы для команд .NET CLI. Рассмотрим пример.
- Путь, доступный для записи пользователем, для пакетов рабочих нагрузок, манифестов и других вспомогательных данных.
- Файлы sentinel/lock первого запуска для аспектов миграций и уведомлений .NET CLI.
- Расположение установки локального средства .NET по умолчанию.
DOTNET_CLI_CONTEXT_*
-
DOTNET_CLI_CONTEXT_VERBOSE: чтобы включить подробный контекст, задайте значениеtrue. -
DOTNET_CLI_CONTEXT_ANSI_PASS_THRU: чтобы включить сквозной режим ANSI, задайте значениеtrue.
DOTNET_CLI_WORKLOAD_UPDATE_NOTIFY_DISABLE
Отключает фоновое скачивание оповестительных манифестов для рабочих нагрузок. По умолчанию используется значение false — скачивание не отключено. Если задано значение true, скачивание отключено. Дополнительные сведения см. в разделе Оповестительные манифесты.
DOTNET_CLI_WORKLOAD_UPDATE_NOTIFY_INTERVAL_HOURS
Указывает минимальное число часов между фоновым скачиванием оповестительных манифестов для рабочих нагрузок. Значение по умолчанию 24— это не более одного раза в день. Дополнительные сведения см. в разделе Оповестительные манифесты.
DOTNET_SKIP_WORKLOAD_INTEGRITY_CHECK
Указывает, следует ли пропустить проверку целостности рабочей нагрузки при первом запуске. Проверка целостности гарантирует, что рабочие нагрузки из предыдущих групп компонентов доступны для установленного пакета SDK. Задайте для параметра значение true, 1или yes пропустить проверку. Значением по умолчанию является falseпроверка целостности.
DOTNET_TOOLS_ALLOW_MANIFEST_IN_ROOT
Указывает, выполняются ли локальные средства sdk для .NET для поиска файлов манифеста инструментов в корневой папке в Windows. Значение по умолчанию — false.
DOTNET_HOST_TRACE
Эта переменная применяется к .NET 10 и более поздним версиям. Для более старых версий замените DOTNET_HOST_ префикс COREHOST_на .
Управляет диагностической трассировкой из компонентов размещения, таких как dotnet.exe, hostfxr и hostpolicy.
DOTNET_HOST_TRACE=[0/1]— по умолчанию имеет значение0— трассировка отключена. Значение1включает диагностическую трассировку.DOTNET_HOST_TRACEFILE=<file path>— действует, только если трассировка включена с помощью параметраDOTNET_HOST_TRACE=1. Если переменная включена, трассировочные сведения записываются в указанный файл, а в противном случае — вstderr.DOTNET_HOST_TRACE_VERBOSITY=[1/2/3/4]— по умолчанию имеет значение4. Этот параметр используется, только если трассировка включена параметромDOTNET_HOST_TRACE=1.-
4— записываются все трассировочные данные. -
3— записываются только информационные сообщения, предупреждения и ошибки. -
2— записываются только предупреждения и ошибки. -
1— записываются только сообщения об ошибках.
-
Типичным способом получения подробных сведений о трассировки запуска приложения является установка DOTNET_HOST_TRACE=1 и DOTNET_HOST_TRACEFILE=host_trace.txt запуск приложения. В текущем каталоге будет создан новый файл host_trace.txt с подробными сведениями.
COREHOST_TRACE
Управляет диагностической трассировкой из компонентов размещения, таких как dotnet.exe, hostfxr и hostpolicy.
Note
Начиная с .NET 10, используйте DOTNET_HOST_TRACE переменные среды.
COREHOST_TRACE Переменные работают так же, как DOTNET_HOST_TRACE и переменные.
-
COREHOST_TRACE- смDOTNET_HOST_TRACE. раздел . -
COREHOST_TRACEFILE- смDOTNET_HOST_TRACEFILE. раздел . -
COREHOST_TRACE_VERBOSITY- смDOTNET_HOST_TRACE_VERBOSITY. раздел .
SuppressNETCoreSdkPreviewMessage
Если задано значение true, в результате вызова dotnet не будет отображаться предупреждение при использовании предварительной версии пакета SDK.
Настройка MSBuild в .NET CLI
Для внепроцессного выполнения MSBuild задайте переменной среды DOTNET_CLI_RUN_MSBUILD_OUTOFPROC значение 1, true или yes. По умолчанию MSBuild будет выполняться внутри процесса. Чтобы платформа MSBuild использовала внешний долговечный процесс рабочего узла для сборки проектов, задайте DOTNET_CLI_USE_MSBUILDNOINPROCNODE значение 1, true или yes. При этом переменной среды MSBUILDNOINPROCNODE будет задано значение 1, которое называется MSBuild Server V1, так как процесс ввода направляет на него большую часть работы.
DOTNET_MSBUILD_SDK_RESOLVER_*
Это переопределения, которые используются для того, чтобы источником разрешенных задач и целевых объектов пакета SDK был заданный базовый каталог и сообщать версию в MSBuild (она может иметь значение null, если неизвестна). Одним из ключевых вариантов использования является проверка задач и целевых объектов пакета SDK без их развертывания с помощью пакета SDK для .NET Core.
-
DOTNET_MSBUILD_SDK_RESOLVER_SDKS_DIR: переопределяет каталог пакета SDK для .NET. -
DOTNET_MSBUILD_SDK_RESOLVER_SDKS_VER: переопределяет версию пакета SDK для .NET. -
DOTNET_MSBUILD_SDK_RESOLVER_CLI_DIR: переопределяет путь к каталогу dotnet.exe.
DOTNET_NEW_PREFERRED_LANG
Настраивает язык программирования по умолчанию для команды dotnet new, когда параметр -lang|--language пропущен. Значение по умолчанию — C#. Допустимые значения: C#, F# или VB. Дополнительные сведения см. в разделе dotnet new.
dotnet watch переменные среды
Сведения о dotnet watch параметрах, доступных в качестве переменных среды, см. в разделе dotnet watch environment переменных.