Freigeben über


.NET-Umgebungsvariablen

In diesem Artikel erfahren Sie mehr über die Umgebungsvariablen, die von .NET verwendet werden. Einige Umgebungsvariablen werden von der .NET-Runtime verwendet, während andere nur vom .NET SDK und der .NET-CLI verwendet werden. Einige Umgebungsvariablen werden von allen drei Komponenten verwendet.

.NET-Runtime-Umgebungsvariablen

In diesem Abschnitt werden die folgenden Umgebungsvariablen definiert:

Weitere Informationen zum Konfigurieren der .NET-Runtime finden Sie unter .NET-Laufzeitkonfigurationseinstellungen.

DOTNET_SYSTEM_NET_HTTP_*

Es gibt mehrere globale Einstellungen für HTTP-Umgebungsvariablen:

  • DOTNET_SYSTEM_NET_HTTP_ENABLEACTIVITYPROPAGATION
    • Gibt an, ob die Aktivitätsweitergabe des Diagnosehandlers für globale HTTP-Einstellungen aktiviert werden soll.
  • DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_HTTP2SUPPORT
    • Wenn die Einstellung false oder 0 ist, wird die standardmäßig aktivierte HTTP/2-Unterstützung deaktiviert.
  • DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_HTTP3SUPPORT
    • Wenn die Einstellung true oder 1 ist, wird die standardmäßig aktivierte HTTP/3-Unterstützung deaktiviert.
  • DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_HTTP2FLOWCONTROL_DISABLEDYNAMICWINDOWSIZING
    • Wenn die Einstellung false oder 0 ist, wird der Standardwert außer Kraft gesetzt und der HTTP/2-Algorithmus für die dynamische Fensterskalierung deaktiviert.
  • DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_FLOWCONTROL_MAXSTREAMWINDOWSIZE
    • Der Standardwert ist 16 MB. Wurde der Wert außer Kraft gesetzt, darf die maximale Größe des Empfangsfensters des HTTP/2-Streams nicht kleiner als 65.535 sein.
  • DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_FLOWCONTROL_STREAMWINDOWSCALETHRESHOLDMULTIPLIER
    • Der Standardwert ist 1.0. Wurde der Wert außer Kraft gesetzt, führen höhere Werte zu einem kürzeren Fenster, aber langsameren Downloads. Darf nicht kleiner als 0 sein.

DOTNET_SYSTEM_GLOBALIZATION_*

  • DOTNET_SYSTEM_GLOBALIZATION_INVARIANT: Siehe Invarianten Modus einstellen
  • DOTNET_SYSTEM_GLOBALIZATION_PREDEFINED_CULTURES_ONLY: Gibt an, ob nur vordefinierte Kulturen geladen werden sollen.
  • DOTNET_SYSTEM_GLOBALIZATION_APPLOCALICU: Gibt an, ob die app-local ICU (International Components of Unicode) verwendet werden soll. Weitere Informationen finden Sie unter App-local ICU.

Invarianten Modus einstellen

Anwendungen können den invarianten Modus auf eine der folgenden Arten aktivieren:

  1. In der Projektdatei:

    <PropertyGroup>
        <InvariantGlobalization>true</InvariantGlobalization>
    </PropertyGroup>
    
  2. In der Datei runtimeconfig.json:

    {
        "runtimeOptions": {
            "configProperties": {
                "System.Globalization.Invariant": true
            }
        }
    }
    
  3. Durch Einstellen des Werts der Umgebungsvariablen DOTNET_SYSTEM_GLOBALIZATION_INVARIANT auf true oder 1.

Important

Ein in der Projektdatei oder runtimeconfig.json festgelegter Wert hat eine höhere Priorität als die Umgebungsvariable.

Weitere Informationen finden sie unter Invarianter Globalisierungsmodus in .NET.

DOTNET_SYSTEM_GLOBALIZATION_USENLS

Dies gilt nur für Windows. Damit die Globalisierung NLS (National Language Support) verwendet, legen Sie DOTNET_SYSTEM_GLOBALIZATION_USENLS auf true oder 1 fest. Um NLS nicht zu verwenden, legen Sie DOTNET_SYSTEM_GLOBALIZATION_USENLS entweder auf false oder 0 fest.

DOTNET_SYSTEM_NET_SOCKETS_*

Dieser Abschnitt konzentriert sich auf zwei System.Net.Sockets Umgebungsvariablen:

  • DOTNET_SYSTEM_NET_SOCKETS_INLINE_COMPLETIONS
  • DOTNET_SYSTEM_NET_SOCKETS_THREAD_COUNT

Socketfortsetzungen werden vom Ereignisthread an System.Threading.ThreadPool gesendet. Dadurch wird vermieden, dass Fortsetzungen die Ereignisbehandlung blockieren. Damit Fortsetzungen direkt im Ereignisthread ausgeführt werden können, legen Sie DOTNET_SYSTEM_NET_SOCKETS_INLINE_COMPLETIONS auf 1 fest. Standardmäßig ist es deaktiviert.

Note

Diese Einstellung kann die Leistung beeinträchtigen, wenn es aufwendige Arbeiten gibt, die den E/A-Thread länger als nötig beanspruchen. Führen Sie entsprechende Tests durch, um sicherzustellen, dass diese Einstellung die Leistung verbessert.

Mithilfe von TechEmpower-Benchmarks, die viele kleine Socketlese- und schreibvorgänge bei sehr hoher Auslastung generieren, kann eine einzelne Socket-Engine bis zu 30 x64- und acht Arm64-CPU-Kerne auslasten. Die große Mehrheit der Szenarien in echten Umgebungen generiert keine Auslastung in dieser Größe (Hunderttausende Anforderungen pro Sekunde), und ein einzelner Producer ist fast immer ausreichend. Um jedoch sicherzustellen, dass extreme Auslastungen verarbeitet werden können, können Sie DOTNET_SYSTEM_NET_SOCKETS_THREAD_COUNT verwenden, um den berechneten Wert außer Kraft zu setzen. Wird der berechnete Wert nicht außer Kraft gesetzt, wird folgender Wert verwendet:

  • Wenn DOTNET_SYSTEM_NET_SOCKETS_INLINE_COMPLETIONS1 ist, wird der Wert Environment.ProcessorCount verwendet.
  • Wenn DOTNET_SYSTEM_NET_SOCKETS_INLINE_COMPLETIONS nicht 1 ist, wird RuntimeInformation.ProcessArchitecture ausgewertet.
    • Im Falle von Arm oder Arm64 wird der Wert der Kerne pro Engine auf 8 festgelegt, andernfalls auf 30.
  • Bei Verwendung der ermittelten Kerne pro Engine der Höchstwert von entweder 1 oder Environment.ProcessorCount über den Kernen pro Engine.

DOTNET_SYSTEM_NET_DISABLEIPV6

Dies hilft zu ermitteln, ob die IP Version 6 (IPv6) deaktiviert ist oder nicht. Wenn die Einstellung auf true oder 1 lautet, ist IPv6 deaktiviert, sofern in System.AppContext nicht anders angegeben.

DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER

Sie können einen der folgenden Mechanismen verwenden, um einen Prozess für die Verwendung des älteren HttpClientHandler zu konfigurieren:

Verwenden Sie im Code die Klasse AppContext:

AppContext.SetSwitch("System.Net.Http.UseSocketsHttpHandler", false);

Switch AppContext kann auch durch eine Konfigurationsdatei festgelegt werden. Weitere Informationen zum Konfigurieren von Switches finden Sie unter AppContext für Bibliotheksconsumer.

Dies kann auch über die Umgebungsvariable DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER erreicht werden. Zum Deaktivieren legen Sie den Wert auf false oder 0 fest.

Note

Ab .NET 5 ist die Einstellung HttpClientHandler nicht mehr verfügbar.

DOTNET_RUNNING_IN_CONTAINER und DOTNET_RUNNING_IN_CONTAINERS

Die offiziellen .NET-Images (Windows und Linux) legen die bekannten Umgebungsvariablen fest:

  • DOTNET_RUNNING_IN_CONTAINER
  • DOTNET_RUNNING_IN_CONTAINERS

Diese Werte werden verwendet, um zu bestimmen, wann Ihre ASP.NET Core-Workloads im Kontext eines Containers ausgeführt werden.

DOTNET_SYSTEM_CONSOLE_ALLOW_ANSI_COLOR_REDIRECTION

Wenn Console.IsOutputRedirectedtrue ist, können Sie ANSI-Farbcode ausgeben, indem Sie DOTNET_SYSTEM_CONSOLE_ALLOW_ANSI_COLOR_REDIRECTION auf 1 oder true festlegen.

  • DOTNET_SYSTEM_DIAGNOSTICS_DEFAULTACTIVITYIDFORMATISHIERARCHIAL: Bei 1 oder true ist das standardmäßige Format der Aktivitäts-ID hierarchisch.
  • DOTNET_SYSTEM_RUNTIME_CACHING_TRACING: Bei der Ausführung als Debug kann die Ablaufverfolgung aktiviert werden, wenn diese true ist.

DOTNET_DiagnosticPorts

Konfiguriert alternative Endpunkte, bei denen Diagnosetools mit der .NET-Runtime kommunizieren können. Weitere Informationen finden Sie in der Dokumentation zum Diagnoseport.

DOTNET_DefaultDiagnosticPortSuspend

Konfiguriert die Runtime so, dass sie beim Start angehalten wird und auf den Befehl Diagnostics IPC ResumeStartup vom angegebenen Diagnoseport wartet, sofern auf 1 festgelegt. Der Standardwert ist 0. Weitere Informationen finden Sie in der Dokumentation zum Diagnoseport.

DOTNET_EnableDiagnostics

Wenn diese Einstellung auf 0 festgelegt ist, werden das Debuggen, die Profilerstellung und andere Diagnosen über den Diagnoseport deaktiviert und können von anderen Diagnoseeinstellungen nicht außer Kraft gesetzt werden. Wird standardmäßig auf 1 festgelegt.

DOTNET_EnableDiagnostics_IPC

Ab .NET 8 wird beim Festlegen von 0 der Diagnoseport deaktiviert und kann nicht von anderen Diagnoseeinstellungen außer Kraft gesetzt werden. Wird standardmäßig auf 1 festgelegt.

DOTNET_EnableDiagnostics_Debugger

Ab .NET 8 wird beim Festlegen von 0 das Debuggen deaktiviert und kann nicht von anderen Diagnoseeinstellungen außer Kraft gesetzt werden. Wird standardmäßig auf 1 festgelegt.

DOTNET_EnableDiagnostics_Profiler

Ab .NET 8 wird beim Festlegen von 0 die Profilerstellung deaktiviert und kann nicht von anderen Diagnoseeinstellungen außer Kraft gesetzt werden. Wird standardmäßig auf 1 festgelegt.

EventPipe-Variablen

Weitere Informationen finden Sie unter EventPipe-Umgebungsvariablen.

  • DOTNET_EnableEventPipe: aktiviert bei Festlegung auf 1 die Ablaufverfolgung über EventPipe.
  • DOTNET_EventPipeOutputPath: der Ausgabepfad, in den die Ablaufverfolgung geschrieben wird.
  • DOTNET_EventPipeOutputStreaming: aktiviert bei Festlegung auf 1 das Streaming in die Ausgabedatei, während die App ausgeführt wird. Standardmäßig werden Ablaufverfolgungsinformationen in einem Kreispuffer gesammelt, und der Inhalt wird beim Herunterfahren der App geschrieben.

.NET SDK- und CLI-Umgebungsvariablen

In diesem Abschnitt werden die folgenden Umgebungsvariablen beschrieben:

DOTNET_ROOT, , DOTNET_ROOT(x86)DOTNET_ROOT_X86DOTNET_ROOT_X64

Gibt den Speicherort der .NET-Runtimes an, wenn sie nicht am Standardspeicherort installiert sind. Der Standardspeicherort unter Windows ist C:\Program Files\dotnet. Der Standardspeicherort unter macOS ist /usr/local/share/dotnet. Der Standardspeicherort für die x64-Runtimes auf einem arm64-Betriebssystem befindet sich unter einem x64-Unterordner (also C:\Program Files\dotnet\x64 unter Windows und /usr/local/share/dotnet/x64 unter macOS). Der Standardspeicherort unter Linux variiert je nach Distribution und Installationsmethode. Der Standardspeicherort in Ubuntu 22.04 ist /usr/share/dotnet (bei Installation von packages.microsoft.com) oder /usr/lib/dotnet (bei Installation über Jammy-Feed). Weitere Informationen finden Sie in den folgenden Ressourcen:

Diese Umgebungsvariablen werden nur verwendet, wenn Apps über generierte ausführbare Dateien (apphosts) ausgeführt werden. Die Reihenfolge, in der die Umgebungsvariablen berücksichtigt werden, ist:

  1. DOTNET_ROOT_<ARCH>, wobei <ARCH> die Architektur der ausgeführten ausführbaren Datei (apphost) ist. Beispiel:
    • DOTNET_ROOT_ARM64 wird für einen Arm64-Prozess verwendet.
    • DOTNET_ROOT_X64 wird für einen x64-Prozess verwendet. Dieser Prozess kann auf der x64- oder Arm64-Architektur ausgeführt werden.
    • DOTNET_ROOT_X86 wird für einen x86-Prozess verwendet. Dieser Prozess kann auf der x86- oder x64-Architektur ausgeführt werden.
  2. DOTNET_ROOT(x86) wird verwendet, wenn ein 32-Bit-Prozess unter 64-Bit-Windows ausgeführt wird. In anderen Fällen wird diese Umgebungsvariable ignoriert.
  3. DOTNET_ROOT.

DOTNET_HOST_PATH

Gibt den absoluten Pfad zu einem dotnet Host an (dotnet.exe unter Windows, dotnet unter Linux und macOS). Dieser Pfad stellt entweder den Host dar, der zum Starten des derzeit ausgeführten dotnet Prozesses verwendet wird, oder der Host, der beim Ausführen dotnet von Befehlen für das derzeit erstellende Projekt beim Ausführen unter MSBuild verwendet wird. Das .NET SDK verwendet diese Variable, um Tools zu unterstützen, die während .NET SDK-Befehlen ausgeführt werden, um sicherzustellen, dass sie dieselbe dotnet Hostkonfiguration für alle untergeordneten dotnet Prozesse verwenden, die sie für die Dauer des Befehls erstellen. Tools und alle MSBuild-Logiken, die innerhalb eines Builds ausgeführt werden und Binärdateien über den dotnet Host aufrufen, werden diese Umgebungsvariable berücksichtigen, um eine konsistente Erfahrung sicherzustellen.

Ab Visual Studio 2026 stellt MSBuild in Visual Studio auch sicher, dass diese DOTNET_HOST_PATH für alle Builds von .NET SDK-Projekten festgelegt ist. Aus Gründen der größtmöglichen Konsistenz sollten alle MSBuild-Tools und -Logiken, die dieselbe Dotnet-Binärdatei verwenden möchten wie die, die den Build spawned hat, verwenden DOTNET_HOST_PATH und eine Diagnose (Warnung oder Fehler) ausgeben, wenn die Variable nicht vorhanden ist.

Note

Die DOTNET_HOST_PATH-Umgebungsvariable ist keine allgemeine Lösung zum Auffinden des dotnet-Hosts. Sie ist nur für Binärdateien und Tools vorgesehen, die vom .NET SDK oder MSBuild aufgerufen werden.

DOTNET_LAUNCH_PROFILE

Mit dem Befehl dotnet run wird diese Variable auf das ausgewählte Startprofil festgelegt.

Angesichts der folgenden Datei launchSettings.json:

{
  "profiles": {
    "First": {
      "commandName": "Project",
    },
    "Second": {
      "commandName": "Project",
    }
  }
}

Und der folgenden Datei Program.cs:

var value = Environment.GetEnvironmentVariable("DOTNET_LAUNCH_PROFILE");
Console.WriteLine($"DOTNET_LAUNCH_PROFILE={value}");

Erzeugen die folgenden Szenarien die gezeigte Ausgabe:

  • Startprofil angegeben und vorhanden

    $ dotnet run --launch-profile First
    DOTNET_LAUNCH_PROFILE=First
    
  • Startprofil nicht angegeben, das erste wird ausgewählt

    $ dotnet run
    DOTNET_LAUNCH_PROFILE=First
    
  • Startprofil angegeben, aber nicht vorhanden

    $ 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=
    
  • Ohne Profil starten

    $ dotnet run --no-launch-profile
    DOTNET_LAUNCH_PROFILE=
    

NUGET_PACKAGES

Der Ordner für globale Pakete. Wenn er nicht festgelegt wird, wird standardmäßig ~/.nuget/packages unter Unix oder %userprofile%\.nuget\packages unter Windows verwendet.

DOTNET_SERVICING

Gibt den Speicherort des Wartungsindex an, der vom freigegebenen Host verwendet wird, wenn die Laufzeit geladen wird.

Gibt an, ob bei der ersten Ausführung .NET-Willkommens- und -Telemetriemeldungen angezeigt werden. Bei Festlegung auf true werden diese Meldungen unterdrückt (akzeptierte Werte: true, 1 oder yes), bei Festlegung auf false werden die Meldungen zugelassen (akzeptierte Werte: false, 0 oder no). Sofern dies nicht so festgelegt wurde, lautet der Standardwert false und die Meldungen werden bei der ersten Ausführung angezeigt. Dieses Flag hat keine Auswirkung auf die Telemetrie (siehe DOTNET_CLI_TELEMETRY_OPTOUT zum Deaktivieren der Übermittlung von Telemetriedaten).

DOTNET_CLI_PERF_LOG

Gibt an, ob Leistungsdetails zur aktuellen CLI-Sitzung protokolliert werden. Aktiviert, wenn 1, true oder yes festgelegt sind. Diese Einstellung ist standardmäßig deaktiviert.

DOTNET_GENERATE_ASPNET_CERTIFICATE

Gibt an, ob ein ASP.NET Core-Zertifikat erstellt werden soll. Der Standardwert ist true. Dieser kann jedoch außer Kraft gesetzt werden, indem diese Umgebungsvariable entweder auf 0, false oder no festgelegt wird.

DOTNET_ADD_GLOBAL_TOOLS_TO_PATH

Gibt an, ob der Umgebungsvariablen PATH globale Tools hinzugefügt werden. Der Standardwert ist true. Um dem Pfad keine globalen Tools hinzuzufügen, legen Sie 0, false oder no fest.

DOTNET_CLI_TELEMETRY_OPTOUT

Gibt an, ob Daten zur Nutzung von .NET-Tools gesammelt und an Microsoft gesendet werden. Legen Sie true fest, um die Telemetriefunktion zu deaktivieren (Wert true, 1 oder yes wird akzeptiert). Legen Sie andernfalls fest, dass false Sie sich für die Telemetriefeatures (Wertefalse0, oder no akzeptiert) anmelden möchten. Ohne Festlegung ist der Standardwert false, und die Telemetriefunktion ist aktiviert.

DOTNET_SKIP_FIRST_TIME_EXPERIENCE

Wenn DOTNET_SKIP_FIRST_TIME_EXPERIENCE auf true festgelegt ist, wird der NuGetFallbackFolder nicht auf den Datenträger erweitert, und es werden eine kürzere Begrüßungsnachricht und ein kürzerer Telemetriehinweis angezeigt.

Note

Diese Umgebungsvariable wird in .NET Core 3.0 und höher nicht mehr unterstützt. Verwenden Sie stattdessen DOTNET_NOLOGO.

DOTNET_MULTILEVEL_LOOKUP

Gibt an, ob die .NET-Runtime, das freigegebene Framework oder das SDK am globalen Speicherort aufgelöst werden. Ohne Festlegung ist der Standardwert 1 (logisch true). Legen Sie den Wert auf 0 (logisch false) fest, damit keine Auflösung am globalen Speicherort erfolgt und isolierte .NET-Installationen verwendet werden. Weitere Informationen zu Lookup mit mehreren Ebenen finden Sie unter Multi-level SharedFX lookup (SharedFX-Lookup mit mehreren Ebenen).

Note

Diese Umgebungsvariable gilt nur für Anwendungen für .NET 6 und frühere Versionen. Ab .NET 7 sucht .NET nur an einem Speicherort nach Frameworks. Weitere Informationen finden Sie unter Suche mit mehreren Ebenen ist deaktiviert.

DOTNET_ROLL_FORWARD

Bestimmt das Rollforwardverhalten. Weitere Informationen finden Sie unter Die Option --roll-forward für den Befehl dotnet.

DOTNET_ROLL_FORWARD_TO_PRERELEASE

Wenn diese Option auf 1 (aktiviert) festgelegt ist, wird das Rollforward von einer endgültigen Produktversion zu einer Vorabversion aktiviert. Wenn eine endgültige Releaseversion der .NET-Runtime angefordert wird, werden standardmäßig (0 – deaktiviert) nur installierte endgültige Releaseversionen beim Rollforward berücksichtigt.

Weitere Informationen finden Sie unter Die Option --roll-forward für den Befehl dotnet.

DOTNET_CLI_FORCE_UTF8_ENCODING

Erzwingt die Verwendung der UTF-8-Codierung in der Konsole, auch für ältere Versionen von Windows 10, die UTF-8 nicht vollständig unterstützen. Weitere Informationen finden Sie unter SDK no longer changes console encoding after completion (Das SDK ändert die Konsolencodierung nach Abschluss nicht mehr.).

DOTNET_CLI_UI_LANGUAGE

Legt die Sprache der CLI-Benutzeroberfläche mit einem Gebietsschemawert wie en-us fest. Die unterstützten Werte sind identisch mit denen für Visual Studio. Weitere Informationen finden Sie im Abschnitt zum Ändern der Sprache des Installationsprogramms in der Visual Studio-Installationsdokumentation. Es gelten die Regeln des .NET-Ressourcen-Managers, sodass Sie keine genaue Übereinstimmung auswählen müssen, sondern auch Nachfolger in der CultureInfo-Struktur auswählen können. Bei einer Festlegung auf fr-CA findet und verwendet die Befehlszeilenschnittstelle z. B. die fr-Übersetzungen. Wenn Sie eine nicht unterstützte Sprache festlegen, greift die Befehlszeilenschnittstelle auf Englisch zurück.

DOTNET_DISABLE_GUI_ERRORS

Für generierte ausführbare Dateien mit aktivierter Benutzeroberfläche – deaktiviert das Dialogfeld-Popupfenster, das normalerweise bei bestimmten Fehlerklassen angezeigt wird. Es schreibt nur an stderr und beendet sich nur in diesen Fällen.

DOTNET_ADDITIONAL_DEPS

Entspricht der CLI-Option --additional-deps.

DOTNET_RUNTIME_ID

Setzt die erkannte RID außer Kraft.

DOTNET_SHARED_STORE

Speicherort des „gemeinsamen Speichers“, auf den die Assemblyauflösung in einigen Fällen zurückgreift.

DOTNET_STARTUP_HOOKS

Liste der Assemblys zum Laden und Ausführen von Startuphooks.

DOTNET_BUNDLE_EXTRACT_BASE_DIR

Gibt ein Verzeichnis an, in das eine Einzeldateianwendung vor der Ausführung extrahiert wird.

Weitere Informationen finden Sie unter Ausführbare Einzeldateien.

DOTNET_CLI_HOME

Gibt den Speicherort an, in den unterstützende Dateien für .NET CLI-Befehle geschrieben werden sollen. Beispiel:

  • Beschreibbare Pfade für Workload Packs, Manifeste und andere unterstützende Daten.
  • First-run sentinel/lock files for aspects of the .NET CLI's first-run migration and notification experiences.
  • Der standardmäßige Installationsspeicherort des lokalen .NET-Tools.

DOTNET_CLI_CONTEXT_*

  • DOTNET_CLI_CONTEXT_VERBOSE: Um einen ausführlichen Kontext zu aktivieren, legen Sie die Einstellung auf true fest.
  • DOTNET_CLI_CONTEXT_ANSI_PASS_THRU: Um einen ANSI-Passthrough zu aktivieren, legen Sie die Einstellung auf true fest.

DOTNET_CLI_WORKLOAD_UPDATE_NOTIFY_DISABLE

Diese Variable deaktiviert Downloads von Ankündigungsmanifesten im Hintergrund für Workloads. Der Standardwert lautet false (nicht deaktiviert). Ist die Variable auf true festgelegt, sind Downloads deaktiviert. Weitere Informationen finden Sie unter Ankündigungsmanifeste.

DOTNET_CLI_WORKLOAD_UPDATE_NOTIFY_INTERVAL_HOURS

Diese Variable gibt die Mindestanzahl an Stunden an, die zwischen Downloads von Ankündigungsmanifesten im Hintergrund für Workloads liegen müssen. Der Standardwert ist 24, was nicht häufiger als einmal pro Tag ist. Weitere Informationen finden Sie unter Ankündigungsmanifeste.

DOTNET_SKIP_WORKLOAD_INTEGRITY_CHECK

Gibt an, ob die Workloadintegritätsprüfung bei der ersten Ausführung übersprungen werden soll. Die Integritätsprüfung stellt sicher, dass Workloads aus vorherigen Featurebändern für das aktuell installierte SDK zugänglich sind. Legen Sie den Wert auf true, 1oder yes um die Überprüfung zu überspringen. Der Standardwert lautet false, d. h. die Integritätsprüfung wird ausgeführt.

DOTNET_TOOLS_ALLOW_MANIFEST_IN_ROOT

Gibt an, ob lokale .NET SDK-Tools im Stammordner unter Windows nach Toolmanifestdateien suchen. Der Standardwert ist false.

DOTNET_HOST_TRACE

Diese Variable gilt für .NET 10 und höhere Versionen. Ersetzen Sie für ältere Versionen das DOTNET_HOST_ Präfix durch COREHOST_.

Steuert die Diagnoseablaufverfolgung von den Hostingkomponenten wie dotnet.exe, hostfxr und hostpolicy.

  • DOTNET_HOST_TRACE=[0/1] – Standardwert ist 0 – Ablaufverfolgung deaktiviert. Wenn auf 1 festgelegt, ist die Diagnoseablaufverfolgung aktiviert.

  • DOTNET_HOST_TRACEFILE=<file path> – hat nur dann Auswirkungen, wenn die Ablaufverfolgung durch Festlegen von DOTNET_HOST_TRACE=1 aktiviert wird. Wurde dies so festgelegt, werden die Ablaufverfolgungsinformationen in die angegebene Datei geschrieben, andernfalls in stderr.

  • DOTNET_HOST_TRACE_VERBOSITY=[1/2/3/4] – Standardwert ist 4. Die Einstellung wird nur verwendet, wenn die Ablaufverfolgung über DOTNET_HOST_TRACE=1 aktiviert wird.

    • 4 – alle Ablaufverfolgungsinformationen werden geschrieben
    • 3 – nur Informationen, Warn- und Fehlermeldungen werden geschrieben
    • 2 – nur Warn- und Fehlermeldungen werden geschrieben
    • 1 – nur Fehlermeldungen werden geschrieben

Die typische Möglichkeit zum Abrufen detaillierter Ablaufverfolgungsinformationen zum Starten der Anwendung besteht darin, die Anwendung festzulegen DOTNET_HOST_TRACE=1 und DOTNET_HOST_TRACEFILE=host_trace.txt auszuführen. Im aktuellen Verzeichnis wird eine neue Datei host_trace.txt mit detaillierten Informationen erstellt.

COREHOST_TRACE

Steuert die Diagnoseablaufverfolgung von den Hostingkomponenten wie dotnet.exe, hostfxr und hostpolicy.

Note

Verwenden Sie ab .NET 10 stattdessen die DOTNET_HOST_TRACE Umgebungsvariablen. Die COREHOST_TRACE Variablen funktionieren genauso wie DOTNET_HOST_TRACE Variablen.

SuppressNETCoreSdkPreviewMessage

Bei Festlegung auf true wird beim Aufrufen von dotnet keine Warnung angezeigt, wenn ein Vorschau-SDK verwendet wird.

Konfigurieren von MSBuild in der .NET CLI

Um den MSBuild prozessextern (Out-of-Process) auszuführen, legen Sie die Umgebungsvariable DOTNET_CLI_RUN_MSBUILD_OUTOFPROC entweder auf 1, true oder yes fest. Standardmäßig wird MSBuild prozessintern (In-Process) ausgeführt. Um zu erzwingen, dass MSBuild einen externen, langlebigen Arbeitsknotenprozess zum Erstellen von Projekten verwendet, legen Sie DOTNET_CLI_USE_MSBUILDNOINPROCNODE auf 1, true oder yes fest. Dadurch wird die Umgebungsvariable MSBUILDNOINPROCNODE auf 1 festgelegt (bezeichnet als MSBuild Server V1), da der Eingabeprozess den größten Teil der Arbeit an diese weiterreicht.

DOTNET_MSBUILD_SDK_RESOLVER_*

Hierbei handelt es sich um Außerkraftsetzungen, die dazu verwendet werden, zu erzwingen, dass die aufgelösten SDK-Aufgaben und -Ziele aus einem bestimmten Basisverzeichnis stammen und eine bestimmte Version an MSBuild melden, was - falls unbekannt - möglicherweise null ist. Ein wichtiger Anwendungsfall dafür ist das Testen von SDK-Aufgaben und -Zielen, ohne sie mithilfe der .NET Core SDK bereitzustellen.

  • DOTNET_MSBUILD_SDK_RESOLVER_SDKS_DIR: Setzt das .NET SDK-Verzeichnis außer Kraft.
  • DOTNET_MSBUILD_SDK_RESOLVER_SDKS_VER: Setzt die .NET SDK-Version außer Kraft.
  • DOTNET_MSBUILD_SDK_RESOLVER_CLI_DIR: Setzt den dotnet.exe-Verzeichnispfad außer Kraft.

DOTNET_NEW_PREFERRED_LANG

Konfiguriert die Standardprogrammiersprache für den Befehl dotnet new, wenn der Switch -lang|--language ausgelassen wird. Standardwert: C#. Gültige Werte sind C#, F# oder VB. Weitere Informationen finden Sie unter dotnet new.

dotnet watch-Umgebungsvariablen

Informationen zu dotnet watch-Einstellungen, die als Umgebungsvariablen verfügbar sind, finden Sie unter dotnet watch-Umgebungsvariablen.

Siehe auch