Udostępnij za pośrednictwem


Zmienne środowiskowe platformy .NET

Ten artykuł dotyczy: ✔️ zestaw .NET Core 3.1 SDK i nowsze wersje

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

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 false lub 0wyłącza obsługę protokołu HTTP/2, która jest domyślnie włączona.
  • DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_HTTP3SUPPORT
    • Po ustawieniu true wartości lub 1włącza obsługę protokołu HTTP/3, która jest domyślnie wyłączona.
  • DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_HTTP2FLOWCONTROL_DISABLEDYNAMICWINDOWSIZING
    • W przypadku ustawienia false wartości lub 0zastępuje wartość domyślną i wyłącza algorytm skalowania dynamicznego okna HTTP/2.
  • 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:

  1. W pliku projektu:

    <PropertyGroup>
        <InvariantGlobalization>true</InvariantGlobalization>
    </PropertyGroup>
    
  2. W pliku runtimeconfig.json:

    {
        "runtimeOptions": {
            "configProperties": {
                "System.Globalization.Invariant": true
            }
        }
    }
    
  3. Ustawiając wartość DOTNET_SYSTEM_GLOBALIZATION_INVARIANT zmiennej środowiskowej na true lub 1.

Ważne

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_USENLS true 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_COMPLETIONS
  • DOTNET_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_COMPLETIONS 1. Jest ona domyślnie wyłączona.

Uwaga

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_COMPLETIONS wartość to 1, Environment.ProcessorCount używana jest wartość.
  • Jeśli DOTNET_SYSTEM_NET_SOCKETS_INLINE_COMPLETIONS parametr nie 1ma wartości , RuntimeInformation.ProcessArchitecture jest obliczany:
    • Gdy arm lub Arm64 rdzenie na wartość aparatu jest ustawiona na 8wartość , w przeciwnym razie 30.
  • Używając określonych rdzeni na silnik, maksymalna wartość 1 rdzeni 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.

Uwaga

Począwszy od platformy .NET 5, to ustawienie do użycia HttpClientHandler nie jest już dostępne.

DOTNET_Jit* i DOTNET_GC*

Istnieją dwie stresujące funkcje związane z JIT i JIT generowane przez GC informacje: JIT Stress i GC Hole Stress. Te funkcje umożliwiają opracowywanie scenariuszy brzegowych i bardziej "rzeczywistych" scenariuszy bez konieczności opracowywania złożonych aplikacji. Dostępne są następujące zmienne środowiskowe:

  • DOTNET_JitStress
  • DOTNET_JitStressModeNamesOnly
  • DOTNET_GCStress

Stres JIT

Włączenie funkcji JIT Stress można wykonać na kilka sposobów. Ustaw DOTNET_JitStress wartość innej niż zero liczb całkowitych, aby wygenerować różne poziomy optymalizacji JIT na podstawie skrótu nazwy metody. Aby zastosować wszystkie optymalizacje, na DOTNET_JitStress=2przykład . Innym sposobem włączenia środowiska JIT Stress jest ustawienie, DOTNET_JitStressModeNamesOnly=1 a następnie żądanie trybów przeciążenia, rozdzielonych spacjami w zmiennej DOTNET_JitStressModeNames .

Rozważmy na przykład:

DOTNET_JitStressModeNames=STRESS_USE_CMOV STRESS_64RSLT_MUL STRESS_LCL_FLDS

Stres otworu GC

Włączenie przeciążenia otworu GC powoduje, że GC zawsze występują w określonych lokalizacjach i pomaga wytropić otwory GC. Narzędzie GC Hole Stress można włączyć przy użyciu zmiennej środowiskowej DOTNET_GCStress .

Aby uzyskać więcej informacji, zobacz Badanie przeciążenia otworów JIT i GC.

Bariery pamięci JIT

Generator kodu dla usługi Arm64 umożliwia usunięcie wszystkich MemoryBarriers instrukcji przez ustawienie na DOTNET_JitNoMemoryBarriers 1.

DOTNET_RUNNING_IN_CONTAINER i DOTNET_RUNNING_IN_CONTAINERS

Oficjalne obrazy platformy .NET (Windows i Linux) ustawiają dobrze znane zmienne środowiskowe:

  • DOTNET_RUNNING_IN_CONTAINER
  • DOTNET_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_DEFAULTACTIVITYIDFORMATISHIERARCHIAL: Gdy 1 lub true, domyślny format identyfikatora działania jest hierarchiczny.
  • DOTNET_SYSTEM_RUNTIME_CACHING_TRACING: W przypadku uruchamiania jako debugowania śledzenie można włączyć, gdy jest trueto .

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 na 1wartość , 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

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:

Ta zmienna środowiskowa jest używana tylko w przypadku uruchamiania aplikacji za pośrednictwem wygenerowanych plików wykonywalnych (apphosts). DOTNET_ROOT(x86) Zamiast tego jest używany podczas uruchamiania 32-bitowego pliku wykonywalnego w 64-bitowym systemie operacyjnym. DOTNET_ROOT_X64 Zamiast tego jest używany podczas uruchamiania 64-bitowego pliku wykonywalnego w systemie operacyjnym ARM64.

DOTNET_HOST_PATH

Określa ścieżkę bezwzględną dotnet do hosta (dotnet.exe w systemie Windows, dotnet w systemie Linux i macOS), który został użyty do uruchomienia aktualnie uruchomionego dotnet procesu. Jest to używane przez zestaw .NET SDK, aby ułatwić narzędzia uruchamiane podczas poleceń zestawu SDK platformy .NET, aby upewnić się, że używają tego samego dotnet środowiska uruchomieniowego dla wszystkich procesów podrzędnych dotnet tworzonych przez cały czas trwania polecenia. Narzędzia i zadania MSBuild w zestawie SDK, które wywołują pliki binarne za pośrednictwem dotnet hosta, powinny honorować tę zmienną środowiskową w celu zapewnienia spójnego środowiska.

Narzędzia, które wywołują dotnet podczas wykonywania polecenia zestawu SDK, powinny używać następującego algorytmu, aby go zlokalizować:

  • jeśli DOTNET_HOST_PATH wartość jest ustawiona, użyj tej wartości bezpośrednio
  • w przeciwnym razie polegaj na dotnet systemie PATH

Uwaga

DOTNET_HOST_PATH nie jest ogólnym rozwiązaniem do lokalizowania dotnet hosta. Jest ona przeznaczona tylko do użycia przez narzędzia wywoływane przez zestaw SDK platformy .NET.

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=First
    
  • Nie określono profilu uruchamiania, pierwszy wybrany

    $ dotnet run
    DOTNET_LAUNCH_PROFILE=First
    
  • Okreś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.

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.

Uwaga

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.

Uwaga

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_ROLL_FORWARD_ON_NO_CANDIDATE_FX

Wyłącza wycofywanie wersji pomocniczej, jeśli ustawiono wartość 0. To ustawienie jest zastępowane w programie .NET Core 3.0 przez DOTNET_ROLL_FORWARD. Zamiast tego należy użyć nowych ustawień.

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. Na 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_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.

COREHOST_TRACE

Steruje śledzeniem diagnostyki z składników hostingu, takich jak dotnet.exe, hostfxri hostpolicy.

  • COREHOST_TRACE=[0/1] - wartość domyślna to 0 - śledzenie jest wyłączone. Jeśli ustawiono wartość 1, śledzenie diagnostyczne jest włączone.

  • COREHOST_TRACEFILE=<file path> - ma wpływ tylko wtedy, gdy śledzenie jest włączone przez ustawienie COREHOST_TRACE=1. Po ustawieniu informacje o śledzeniu są zapisywane w określonym pliku; w przeciwnym razie informacje śledzenia są zapisywane w pliku stderr.

  • COREHOST_TRACE_VERBOSITY=[1/2/3/4] — wartość domyślna to 4. To ustawienie jest używane tylko wtedy, gdy śledzenie jest włączone za pośrednictwem .COREHOST_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 COREHOST_TRACE=1 , aCOREHOST_TRACEFILE=host_trace.txt następnie uruchomienie aplikacji. Nowy plik host_trace.txt zostanie utworzony w bieżącym katalogu ze szczegółowymi informacjami.

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_MSBUILDNOINPROCNODE 1, 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.

Zobacz też