Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule dowiesz się więcej o zmiennych środowiskowych używanych przez platformę .NET. Niektóre zmienne środowiskowe są używane przez środowisko uruchomieniowe platformy .NET, a inne są używane tylko przez zestaw .NET SDK i interfejs wiersza polecenia platformy .NET. Niektóre zmienne środowiskowe są używane przez wszystkie trzy składniki.
Zmienne środowiskowe środowiska uruchomieniowego platformy .NET
W tej sekcji zdefiniowano następujące zmienne środowiskowe:
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_CONTAINERiDOTNET_RUNNING_IN_CONTAINERS DOTNET_SYSTEM_CONSOLE_ALLOW_ANSI_COLOR_REDIRECTION-
DOTNET_SYSTEM_DIAGNOSTICSi powiązane zmienne DOTNET_DiagnosticPortsDOTNET_DefaultDiagnosticPortSuspendDOTNET_EnableDiagnosticsDOTNET_EnableDiagnostics_IPCDOTNET_EnableDiagnostics_DebuggerDOTNET_EnableDiagnostics_Profiler- Zmienne EventPipe
Aby uzyskać więcej informacji na temat konfigurowania środowiska uruchomieniowego platformy .NET, zobacz Ustawienia konfiguracji środowiska uruchomieniowego platformy .NET.
DOTNET_SYSTEM_NET_HTTP_*
Istnieje kilka globalnych ustawień zmiennej środowiskowej HTTP:
DOTNET_SYSTEM_NET_HTTP_ENABLEACTIVITYPROPAGATION- Wskazuje, czy włączyć propagację działań programu obsługi diagnostycznej dla globalnych ustawień PROTOKOŁU HTTP.
DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_HTTP2SUPPORT- Po ustawieniu wartości
falselub0wyłącza obsługę protokołu HTTP/2, która jest domyślnie włączona.
- Po ustawieniu wartości
DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_HTTP3SUPPORT- Po ustawieniu
truewartości lub1włącza obsługę protokołu HTTP/3, która jest domyślnie wyłączona.
- Po ustawieniu
DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_HTTP2FLOWCONTROL_DISABLEDYNAMICWINDOWSIZING- W przypadku ustawienia
falsewartości lub0zastępuje wartość domyślną i wyłącza algorytm skalowania dynamicznego okna HTTP/2.
- W przypadku ustawienia
DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_FLOWCONTROL_MAXSTREAMWINDOWSIZE- Wartość domyślna to 16 MB. Po zastąpieniu maksymalny rozmiar okna odbierania strumienia HTTP/2 nie może być mniejszy niż 65 535.
DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_FLOWCONTROL_STREAMWINDOWSCALETHRESHOLDMULTIPLIER- Wartość domyślna to 1.0. Po zastąpieniu wyższe wartości powodują krótsze okno, ale wolniejsze pobieranie. Nie może być mniejszy niż 0.
DOTNET_SYSTEM_GLOBALIZATION_*
-
DOTNET_SYSTEM_GLOBALIZATION_INVARIANT: Zobacz ustawianie niezmiennego trybu. -
DOTNET_SYSTEM_GLOBALIZATION_PREDEFINED_CULTURES_ONLY: określa, czy mają być ładowane tylko wstępnie zdefiniowane kultury. -
DOTNET_SYSTEM_GLOBALIZATION_APPLOCALICU: wskazuje, czy używać lokalnych międzynarodowych składników Unicode (ICU). Aby uzyskać więcej informacji, zobacz App-local ICU( App-local ICU).
Ustawianie niezmiennego trybu
Aplikacje mogą włączyć niezmienny tryb w dowolny z następujących sposobów:
W pliku projektu:
<PropertyGroup> <InvariantGlobalization>true</InvariantGlobalization> </PropertyGroup>W pliku runtimeconfig.json:
{ "runtimeOptions": { "configProperties": { "System.Globalization.Invariant": true } } }Ustawiając wartość
DOTNET_SYSTEM_GLOBALIZATION_INVARIANTzmiennej środowiskowej natruelub1.
Important
Wartość ustawiona w pliku projektu lub runtimeconfig.json ma wyższy priorytet niż zmienna środowiskowa.
Aby uzyskać więcej informacji, zobacz Tryb niezmienny globalizacji platformy .NET.
DOTNET_SYSTEM_GLOBALIZATION_USENLS
Dotyczy to tylko systemu Windows. Aby globalizacja korzystała z obsługi języka narodowego (NLS), ustaw wartość DOTNET_SYSTEM_GLOBALIZATION_USENLStrue na wartość lub 1. Aby go nie używać, ustaw wartość DOTNET_SYSTEM_GLOBALIZATION_USENLS na false lub 0.
DOTNET_SYSTEM_NET_SOCKETS_*
Ta sekcja koncentruje się na dwóch System.Net.Sockets zmiennych środowiskowych:
DOTNET_SYSTEM_NET_SOCKETS_INLINE_COMPLETIONSDOTNET_SYSTEM_NET_SOCKETS_THREAD_COUNT
Kontynuacje gniazd są wysyłane do System.Threading.ThreadPool wątku zdarzeń. Pozwala to uniknąć kontynuacji blokujących obsługę zdarzeń. Aby zezwolić na uruchamianie kontynuacji bezpośrednio w wątku zdarzeń, ustaw wartość DOTNET_SYSTEM_NET_SOCKETS_INLINE_COMPLETIONS1. Jest ona domyślnie wyłączona.
Note
To ustawienie może pogorszyć wydajność, jeśli istnieje kosztowna praca, która w końcu będzie trzymać się wątku we/wy dłużej niż jest to potrzebne. Przetestuj, aby upewnić się, że to ustawienie pomaga w wydajności.
Korzystając z testów porównawczych TechEmpower, które generują wiele małych odczytów i zapisów gniazd pod bardzo dużym obciążeniem, pojedynczy aparat gniazda jest w stanie utrzymać zajęty do trzydziestu x64 i ośmiu rdzeni procesora Arm64. Zdecydowana większość rzeczywistych scenariuszy nigdy nie wygeneruje tak ogromnego obciążenia (setki tysięcy żądań na sekundę), a posiadanie jednego producenta jest prawie zawsze wystarczające. Jednak aby upewnić się, że obciążenia ekstremalne mogą być obsługiwane, można użyć DOTNET_SYSTEM_NET_SOCKETS_THREAD_COUNT polecenia , aby zastąpić obliczoną wartość. Jeśli nie zostanie zastąpiona, zostanie użyta następująca wartość:
- Gdy
DOTNET_SYSTEM_NET_SOCKETS_INLINE_COMPLETIONSwartość to1, Environment.ProcessorCount używana jest wartość. - Jeśli
DOTNET_SYSTEM_NET_SOCKETS_INLINE_COMPLETIONSparametr nie1ma wartości , RuntimeInformation.ProcessArchitecture jest obliczany:- Gdy arm lub Arm64 rdzenie na wartość aparatu jest ustawiona na
8wartość , w przeciwnym razie30.
- Gdy arm lub Arm64 rdzenie na wartość aparatu jest ustawiona na
- Używając określonych rdzeni na silnik, maksymalna wartość
1rdzeni na silnik lub Environment.ProcessorCount na rdzeniach na silnik.
DOTNET_SYSTEM_NET_DISABLEIPV6
Pomaga określić, czy protokół internetowy w wersji 6 (IPv6) jest wyłączony. W przypadku ustawienia na true wartość lub 1protokół IPv6 jest wyłączony, chyba że określono inaczej w elemecie System.AppContext.
DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER
Możesz użyć jednego z następujących mechanizmów, aby skonfigurować proces do używania starszego HttpClientHandlerelementu :
Z poziomu kodu użyj AppContext klasy :
AppContext.SetSwitch("System.Net.Http.UseSocketsHttpHandler", false);
Przełącznik AppContext można również ustawić za pomocą pliku konfiguracji. Aby uzyskać więcej informacji na temat konfigurowania przełączników, zobacz AppContext dla użytkowników biblioteki.
To samo można osiągnąć za pomocą zmiennej środowiskowej DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER. Aby zrezygnować, ustaw wartość na false wartość lub 0.
Note
Począwszy od platformy .NET 5, to ustawienie do użycia HttpClientHandler nie jest już dostępne.
DOTNET_RUNNING_IN_CONTAINER i DOTNET_RUNNING_IN_CONTAINERS
Oficjalne obrazy platformy .NET (Windows i Linux) ustawiają dobrze znane zmienne środowiskowe:
DOTNET_RUNNING_IN_CONTAINERDOTNET_RUNNING_IN_CONTAINERS
Te wartości służą do określania, kiedy obciążenia ASP.NET Core działają w kontekście kontenera.
DOTNET_SYSTEM_CONSOLE_ALLOW_ANSI_COLOR_REDIRECTION
Gdy Console.IsOutputRedirected parametr ma truewartość , możesz emitować kod koloru ANSI, ustawiając wartość DOTNET_SYSTEM_CONSOLE_ALLOW_ANSI_COLOR_REDIRECTION na 1 wartość lub true.
DOTNET_SYSTEM_DIAGNOSTICS i powiązane zmienne
-
DOTNET_SYSTEM_DIAGNOSTICS_DEFAULTACTIVITYIDFORMATISHIERARCHIAL: Gdy1lubtrue, domyślny format identyfikatora działania jest hierarchiczny. -
DOTNET_SYSTEM_RUNTIME_CACHING_TRACING: W przypadku uruchamiania jako debugowania śledzenie można włączyć, gdy jesttrueto .
DOTNET_DiagnosticPorts
Konfiguruje alternatywne punkty końcowe, w których narzędzia diagnostyczne mogą komunikować się ze środowiskiem uruchomieniowym platformy .NET. Aby uzyskać więcej informacji, zobacz dokumentację portu diagnostycznego.
DOTNET_DefaultDiagnosticPortSuspend
Konfiguruje środowisko uruchomieniowe, aby wstrzymało się podczas uruchamiania i czekało na polecenie ResumeStartup diagnostyki IPC z określonego portu diagnostycznego po ustawieniu wartości 1. Wartość domyślna to 0. Aby uzyskać więcej informacji, zobacz dokumentację portu diagnostycznego.
DOTNET_EnableDiagnostics
W przypadku ustawienia na 0wartość program wyłącza debugowanie, profilowanie i inną diagnostykę za pośrednictwem portu diagnostycznego i nie może być zastępowany przez inne ustawienia diagnostyczne. Wartość domyślna to 1.
DOTNET_EnableDiagnostics_IPC
Począwszy od platformy .NET 8, w przypadku ustawienia na 0wartość , wyłącza port diagnostyczny i nie można go zastąpić innymi ustawieniami diagnostycznymi. Wartość domyślna to 1.
DOTNET_EnableDiagnostics_Debugger
Począwszy od platformy .NET 8, gdy jest ustawiona na 0wartość , wyłącza debugowanie i nie można zastąpić innymi ustawieniami diagnostycznymi. Wartość domyślna to 1.
DOTNET_EnableDiagnostics_Profiler
Począwszy od platformy .NET 8, gdy jest ustawiona na 0wartość , wyłącza profilowanie i nie można go zastąpić innymi ustawieniami diagnostycznymi. Wartość domyślna to 1.
Zmienne EventPipe
Aby uzyskać więcej informacji, zobacz Zmienne środowiskowe EventPipe.
-
DOTNET_EnableEventPipe: w przypadku ustawienia na1wartość , włącza śledzenie za pośrednictwem elementu EventPipe. -
DOTNET_EventPipeOutputPath: ścieżka wyjściowa, w której zostanie zapisany ślad. -
DOTNET_EventPipeOutputStreaming: w przypadku ustawienia na wartość1parametr włącza przesyłanie strumieniowe do pliku wyjściowego, gdy aplikacja jest uruchomiona. Domyślnie informacje śledzenia są gromadzone w buforze cyklicznym, a zawartość jest zapisywana podczas zamykania aplikacji.
Zmienne środowiskowe zestawu .NET SDK i interfejsu wiersza polecenia
W tej sekcji opisano następujące zmienne środowiskowe:
-
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- Konfigurowanie programu MSBuild w interfejsie wiersza polecenia platformy .NET
DOTNET_NEW_PREFERRED_LANG-
dotnet watchzmienne środowiskowe
DOTNET_ROOT, , DOTNET_ROOT(x86), , DOTNET_ROOT_X86DOTNET_ROOT_X64
Określa lokalizację środowisk uruchomieniowych platformy .NET, jeśli nie są zainstalowane w lokalizacji domyślnej. Domyślną lokalizacją w systemie Windows jest C:\Program Files\dotnet. Domyślną lokalizacją w systemie macOS jest /usr/local/share/dotnet. Domyślną lokalizacją środowisk uruchomieniowych x64 w systemie operacyjnym arm64 jest podfolder x64 (tak w C:\Program Files\dotnet\x64 systemach windows i /usr/local/share/dotnet/x64 macOS). Domyślna lokalizacja w systemie Linux różni się w zależności od metody dystrybucji i raty. Domyślna lokalizacja w systemie Ubuntu 22.04 to /usr/share/dotnet (po zainstalowaniu z packages.microsoft.comprogramu ) lub /usr/lib/dotnet (po zainstalowaniu z kanału informacyjnego Narzędzia Jammy). Aby uzyskać więcej informacji, zobacz następujące zasoby:
- Rozwiązywanie problemów z błędami uruchamiania aplikacji
- Problem z usługą GitHub dotnet/core#7699
- Problem z usługą GitHub dotnet/runtime#79237
Te zmienne środowiskowe są używane tylko w przypadku uruchamiania aplikacji za pośrednictwem wygenerowanych plików wykonywalnych (apphosts). Kolejność, w jakiej są brane pod uwagę zmienne środowiskowe, to:
-
DOTNET_ROOT_<ARCH>, gdzie<ARCH>jest architekturą uruchomionego pliku wykonywalnego (apphost). Przykład:-
DOTNET_ROOT_ARM64jest używany w procesie Arm64. -
DOTNET_ROOT_X64jest używany w procesie x64. Ten proces może działać w architekturze x64 lub Arm64. -
DOTNET_ROOT_X86jest używany na potrzeby procesu x86. Ten proces może działać w architekturze x86 lub x64.
-
-
DOTNET_ROOT(x86)jest używany, gdy proces 32-bitowy jest uruchomiony w 64-bitowym systemie Windows. W innych przypadkach ta zmienna środowiskowa jest ignorowana. -
DOTNET_ROOT.
DOTNET_HOST_PATH
Określa ścieżkę bezwzględną dotnet do hosta (dotnet.exe w systemie Windows, dotnet w systemach Linux i macOS). Ta ścieżka reprezentuje hosta używanego do uruchamiania aktualnie uruchomionego dotnet procesu lub hosta, który będzie używany podczas uruchamiania dotnet poleceń dla aktualnie kompilowania projektu podczas wykonywania w programie MSBuild. Zestaw .NET SDK używa tej zmiennej, aby ułatwić narzędzia uruchamiane podczas wykonywania poleceń zestawu SDK platformy .NET, aby upewnić się, że używają tej samej dotnet konfiguracji hosta dla wszystkich procesów podrzędnych dotnet tworzonych przez cały czas trwania polecenia. Narzędzia i dowolna logika MSBuild uruchamiana w ramach kompilacji i wywoływania plików binarnych za pośrednictwem dotnet hosta powinny honorować tę zmienną środowiskową, aby zapewnić spójne środowisko pracy.
Począwszy od programu Visual Studio 2026, program MSBuild w programie Visual Studio zapewnia również ustawienie DOTNET_HOST_PATH dla wszystkich kompilacji projektów zestawu .NET SDK. Aby uzyskać największą spójność, wszystkie narzędzia i logika programu MSBuild, które chcą używać tego samego pliku binarnego dotnet co kompilacja, powinny polegać na DOTNET_HOST_PATH kompilacji i powinny rozważyć emitowanie diagnostyki (ostrzeżenie lub błąd), gdy zmienna nie jest obecna.
Note
DOTNET_HOST_PATH nie jest ogólnym rozwiązaniem do lokalizowania dotnet hosta. Jest ona przeznaczona tylko do użycia przez pliki binarne i narzędzia wywoływane przez zestaw .NET SDK lub MSBuild.
DOTNET_LAUNCH_PROFILE
Polecenie dotnet run ustawia tę zmienną na wybrany profil uruchamiania.
Biorąc pod uwagę następujący plik launchSettings.json :
{
"profiles": {
"First": {
"commandName": "Project",
},
"Second": {
"commandName": "Project",
}
}
}
A następujący plik Program.cs :
var value = Environment.GetEnvironmentVariable("DOTNET_LAUNCH_PROFILE");
Console.WriteLine($"DOTNET_LAUNCH_PROFILE={value}");
W poniższych scenariuszach są wyświetlane dane wyjściowe:
Określ profil uruchamiania i istnieje
$ dotnet run --launch-profile First DOTNET_LAUNCH_PROFILE=FirstNie określono profilu uruchamiania, pierwszy wybrany
$ dotnet run DOTNET_LAUNCH_PROFILE=FirstOkreślony profil uruchamiania, ale nie istnieje
$ 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=Uruchamianie bez profilu
$ dotnet run --no-launch-profile DOTNET_LAUNCH_PROFILE=
NUGET_PACKAGES
Folder pakietów globalnych. Jeśli nie zostanie ustawiona, wartość domyślna ~/.nuget/packages to w systemie Unix lub %userprofile%\.nuget\packages w systemie Windows.
DOTNET_SERVICING
Określa lokalizację indeksu obsługi do użycia przez hosta udostępnionego podczas ładowania środowiska uruchomieniowego.
DOTNET_NOLOGO
Określa, czy komunikaty powitalne i telemetryczne platformy .NET są wyświetlane w pierwszym uruchomieniu. Ustaw wartość na wartość , aby true wyciszyć te komunikaty (wartości true, 1lub yes zaakceptowane) lub ustawić wartość , aby zezwolić false na nie (wartości false, 0lub no zaakceptowane). Jeśli nie zostanie ustawiona, wartość domyślna to false i komunikaty będą wyświetlane w pierwszym uruchomieniu. Ta flaga nie ma wpływu na dane telemetryczne (zobacz DOTNET_CLI_TELEMETRY_OPTOUT rezygnację z wysyłania danych telemetrycznych).
DOTNET_CLI_PERF_LOG
Określa, czy są rejestrowane szczegóły wydajności bieżącej sesji interfejsu wiersza polecenia. Włączone po ustawieniu wartości 1, truelub yes. Ta opcja jest domyślnie wyłączona.
DOTNET_GENERATE_ASPNET_CERTIFICATE
Określa, czy chcesz wygenerować certyfikat ASP.NET Core. Wartość domyślna to true, ale można ją zastąpić, ustawiając tę zmienną środowiskową na 0wartość , falselub no.
DOTNET_ADD_GLOBAL_TOOLS_TO_PATH
Określa, czy dodać narzędzia globalne do zmiennej środowiskowej PATH . Wartość domyślna to true. Aby nie dodawać globalnych narzędzi do ścieżki, ustaw wartość 0, falselub no.
DOTNET_CLI_TELEMETRY_OPTOUT
Określa, czy dane dotyczące użycia narzędzi platformy .NET są zbierane i wysyłane do firmy Microsoft. Ustaw wartość na wartość , aby true zrezygnować z funkcji telemetrii (wartości true, 1lub yes zaakceptowane). W przeciwnym razie ustaw wartość , aby wyrazić false zgodę na funkcje telemetrii (wartości false, 0lub no zaakceptowane). Jeśli nie zostanie ustawiona, wartość domyślna to false , a funkcja telemetrii jest aktywna.
DOTNET_SKIP_FIRST_TIME_EXPERIENCE
Jeśli DOTNET_SKIP_FIRST_TIME_EXPERIENCE ustawiono wartość true, NuGetFallbackFolder zostanie wyświetlona krótsza wiadomość powitalna i powiadomienie telemetrii nie zostanie rozwinięte na dysku.
Note
Ta zmienna środowiskowa nie jest już obsługiwana w programie .NET Core 3.0 i nowszych wersjach.
Użyj DOTNET_NOLOGO jako zamiennika.
DOTNET_MULTILEVEL_LOOKUP
Określa, czy środowisko uruchomieniowe platformy .NET, platforma udostępniona lub zestaw SDK są rozpoznawane z lokalizacji globalnej. Jeśli nie zostanie ustawiona, wartość domyślna to 1 (wartość logiczna true). Ustaw wartość 0 (logiczną false), aby nie rozpoznawać z lokalizacji globalnej i mają izolowane instalacje platformy .NET. Aby uzyskać więcej informacji na temat wyszukiwania wieloeziomowego, zobacz Wyszukiwanie Multi-level SharedFX.
Note
Ta zmienna środowiskowa dotyczy tylko aplikacji przeznaczonych dla platformy .NET 6 i starszych wersji. Począwszy od platformy .NET 7, platforma .NET szuka tylko struktur w jednej lokalizacji. Aby uzyskać więcej informacji, zobacz Wyszukiwanie wieloeziomowe jest wyłączone.
DOTNET_ROLL_FORWARD
Określa zachowanie wprowadzania do przodu. Aby uzyskać więcej informacji, zobacz --roll-forward opcję dotnet polecenia .
DOTNET_ROLL_FORWARD_TO_PRERELEASE
Jeśli jest ustawiona 1 wartość (włączona), włącza wycofywanie do wersji wstępnej z wersji wydania. Domyślnie (0 — wyłączone), gdy jest żądana wersja środowiska uruchomieniowego .NET, wdrożenie będzie uwzględniać tylko zainstalowane wersje wydania.
Aby uzyskać więcej informacji, zobacz --roll-forward opcję dotnet polecenia .
DOTNET_CLI_FORCE_UTF8_ENCODING
Wymusza użycie kodowania UTF-8 w konsoli, nawet w przypadku starszych wersji systemu Windows 10, które nie obsługują w pełni utF-8. Aby uzyskać więcej informacji, zobacz Zestaw SDK nie zmienia już kodowania konsoli po zakończeniu.
DOTNET_CLI_UI_LANGUAGE
Ustawia język interfejsu użytkownika interfejsu wiersza polecenia przy użyciu wartości ustawień regionalnych, takich jak en-us. Obsługiwane wartości są takie same jak w przypadku programu Visual Studio. Aby uzyskać więcej informacji, zobacz sekcję dotyczącą zmiany języka instalatora w dokumentacji instalacji programu Visual Studio. Reguły menedżera zasobów platformy .NET mają zastosowanie, aby nie trzeba było wybierać dokładnego dopasowania — można również wybrać elementy potomne w drzewie CultureInfo . Jeśli na przykład ustawisz go na fr-CA, interfejs wiersza polecenia znajdzie i użyje fr tłumaczeń. Jeśli ustawisz go na język, który nie jest obsługiwany, interfejs wiersza polecenia powróci do języka angielskiego.
DOTNET_DISABLE_GUI_ERRORS
W przypadku wygenerowanych plików wykonywalnych z graficznym interfejsem użytkownika — wyłącza wyskakujące okienko dialogowe, które zwykle jest wyświetlane dla niektórych klas błędów. Zapisuje tylko w stderr tych przypadkach i kończy działanie.
DOTNET_ADDITIONAL_DEPS
Odpowiednik opcji --additional-depsinterfejsu wiersza polecenia .
DOTNET_RUNTIME_ID
Zastępuje wykryty identyfikator RID.
DOTNET_SHARED_STORE
Lokalizacja "magazynu udostępnionego", do którego należy rozwiązanie zestawu w niektórych przypadkach.
DOTNET_STARTUP_HOOKS
Lista zestawów do załadowania i wykonania zaczepień startowych.
DOTNET_BUNDLE_EXTRACT_BASE_DIR
Określa katalog, do którego wyodrębniono aplikację z jednym plikiem przed jego wykonaniem.
Aby uzyskać więcej informacji, zobacz Pliki wykonywalne z jednym plikiem.
DOTNET_CLI_HOME
Określa lokalizację, w którą powinny być zapisywane pliki pomocnicze dla poleceń interfejsu wiersza polecenia platformy .NET. Przykład:
- Ścieżki z możliwością zapisu użytkownika dla pakietów obciążeń, manifestów i innych danych pomocniczych.
- Pliki sentinel/lock pierwszego uruchomienia dla aspektów migracji i powiadomień interfejsu wiersza polecenia platformy .NET.
- Domyślna lokalizacja instalacji narzędzia lokalnego platformy .NET.
DOTNET_CLI_CONTEXT_*
-
DOTNET_CLI_CONTEXT_VERBOSE: Aby włączyć pełny kontekst, ustaw wartośćtrue. -
DOTNET_CLI_CONTEXT_ANSI_PASS_THRU: Aby włączyć przekazywanie ANSI, ustaw wartośćtrue.
DOTNET_CLI_WORKLOAD_UPDATE_NOTIFY_DISABLE
Wyłącza pobieranie w tle manifestów reklamowych dla obciążeń. Wartość domyślna to false — nie jest wyłączona. Jeśli ustawiono wartość true, pobieranie jest wyłączone. Aby uzyskać więcej informacji, zobacz Manifesty reklamowe.
DOTNET_CLI_WORKLOAD_UPDATE_NOTIFY_INTERVAL_HOURS
Określa minimalną liczbę godzin między pobieraniem w tle manifestów reklamowych dla obciążeń. Wartość domyślna to 24, która nie jest częściej niż raz dziennie. Aby uzyskać więcej informacji, zobacz Manifesty reklamowe.
DOTNET_SKIP_WORKLOAD_INTEGRITY_CHECK
Określa, czy należy pominąć sprawdzanie integralności obciążenia podczas pierwszego uruchomienia. Sprawdzanie integralności zapewnia, że obciążenia z poprzednich przedziałów funkcji są dostępne dla aktualnie zainstalowanego zestawu SDK. Ustaw wartość truena , 1lub yes , aby pominąć sprawdzanie. Wartość domyślna to false, co oznacza, że jest przeprowadzane sprawdzanie integralności.
DOTNET_TOOLS_ALLOW_MANIFEST_IN_ROOT
Określa, czy narzędzia lokalne zestawu .NET SDK wyszukują pliki manifestu narzędzi w folderze głównym w systemie Windows. Wartość domyślna to false.
DOTNET_HOST_TRACE
Ta zmienna dotyczy platformy .NET 10 i nowszych wersji. W przypadku starszych wersji zastąp DOTNET_HOST_ prefiks prefiksem COREHOST_.
Steruje śledzeniem diagnostyki z składników hostingu, takich jak dotnet.exe, hostfxri hostpolicy.
DOTNET_HOST_TRACE=[0/1]- wartość domyślna to0- śledzenie jest wyłączone. Jeśli ustawiono wartość1, śledzenie diagnostyczne jest włączone.DOTNET_HOST_TRACEFILE=<file path>- ma wpływ tylko wtedy, gdy śledzenie jest włączone przez ustawienieDOTNET_HOST_TRACE=1. Po ustawieniu informacje o śledzeniu są zapisywane w określonym pliku; w przeciwnym razie informacje śledzenia są zapisywane w plikustderr.DOTNET_HOST_TRACE_VERBOSITY=[1/2/3/4]— wartość domyślna to4. To ustawienie jest używane tylko wtedy, gdy śledzenie jest włączone za pośrednictwem .DOTNET_HOST_TRACE=1-
4- wszystkie informacje o śledzeniu są zapisywane -
3— zapisywane są tylko komunikaty informacyjne, ostrzegawcze i komunikaty o błędach -
2— zapisywane są tylko komunikaty ostrzegawcze i komunikaty o błędach -
1— zapisywane są tylko komunikaty o błędach
-
Typowym sposobem uzyskania szczegółowych informacji śledzenia dotyczących uruchamiania aplikacji jest ustawienie DOTNET_HOST_TRACE=1 , a DOTNET_HOST_TRACEFILE=host_trace.txt następnie uruchomienie aplikacji. Nowy plik host_trace.txt zostanie utworzony w bieżącym katalogu ze szczegółowymi informacjami.
COREHOST_TRACE
Steruje śledzeniem diagnostyki z składników hostingu, takich jak dotnet.exe, hostfxri hostpolicy.
Note
Począwszy od platformy .NET 10, użyj DOTNET_HOST_TRACE zmiennych środowiskowych. Zmienne COREHOST_TRACE działają tak samo jak DOTNET_HOST_TRACE zmienne.
-
COREHOST_TRACE— zobaczDOTNET_HOST_TRACE. -
COREHOST_TRACEFILE— zobaczDOTNET_HOST_TRACEFILE. -
COREHOST_TRACE_VERBOSITY— zobaczDOTNET_HOST_TRACE_VERBOSITY.
SuppressNETCoreSdkPreviewMessage
Jeśli jest ustawiona wartość true, wywołanie dotnet nie spowoduje wygenerowania ostrzeżenia, gdy jest używany zestaw SDK w wersji zapoznawczej.
Konfigurowanie programu MSBuild w interfejsie wiersza polecenia platformy .NET
Aby wykonać program MSBuild poza procesem, ustaw zmienną DOTNET_CLI_RUN_MSBUILD_OUTOFPROC środowiskową na 1, truelub yes. Domyślnie program MSBuild będzie wykonywany w proc. Aby wymusić używanie zewnętrznego procesu roboczego węzła roboczego do kompilowania projektów, ustaw wartość DOTNET_CLI_USE_MSBUILDNOINPROCNODE1, truelub yes. Spowoduje to ustawienie zmiennej środowiskowej MSBUILDNOINPROCNODE na 1, która jest określana jako MSBuild Server V1, ponieważ proces wprowadzania przekazuje większość pracy do niej.
DOTNET_MSBUILD_SDK_RESOLVER_*
Są to przesłonięcia, które są używane do wymuszania rozpoznanych zadań i obiektów docelowych zestawu SDK, które mają pochodzić z danego katalogu podstawowego i zgłaszają daną wersję do programu MSBuild, co może być null nieznane. Jednym z kluczowych przypadków użycia jest przetestowanie zadań i obiektów docelowych zestawu SDK bez ich wdrażania przy użyciu zestawu .NET Core SDK.
-
DOTNET_MSBUILD_SDK_RESOLVER_SDKS_DIR: zastępuje katalog zestawu .NET SDK. -
DOTNET_MSBUILD_SDK_RESOLVER_SDKS_VER: zastępuje wersję zestawu .NET SDK. -
DOTNET_MSBUILD_SDK_RESOLVER_CLI_DIR: zastępuje ścieżkę katalogu dotnet.exe .
DOTNET_NEW_PREFERRED_LANG
Konfiguruje domyślny język programowania dla dotnet new polecenia, gdy -lang|--language przełącznik zostanie pominięty. Domyślna wartość to C#. Prawidłowe wartości to C#, F#lub VB. Aby uzyskać więcej informacji, zobacz dotnet new.
dotnet watch zmienne środowiskowe
Aby uzyskać informacje o dotnet watch ustawieniach, które są dostępne jako zmienne środowiskowe, zobacz dotnet watch zmienne środowiskowe.