Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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:
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_CONTAINERundDOTNET_RUNNING_IN_CONTAINERS DOTNET_SYSTEM_CONSOLE_ALLOW_ANSI_COLOR_REDIRECTION-
DOTNET_SYSTEM_DIAGNOSTICSund verwandte Variablen DOTNET_DiagnosticPortsDOTNET_DefaultDiagnosticPortSuspendDOTNET_EnableDiagnosticsDOTNET_EnableDiagnostics_IPCDOTNET_EnableDiagnostics_DebuggerDOTNET_EnableDiagnostics_Profiler- EventPipe-Variablen
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
falseoder0ist, wird die standardmäßig aktivierte HTTP/2-Unterstützung deaktiviert.
- Wenn die Einstellung
DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_HTTP3SUPPORT- Wenn die Einstellung
trueoder1ist, wird die standardmäßig aktivierte HTTP/3-Unterstützung deaktiviert.
- Wenn die Einstellung
DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_HTTP2FLOWCONTROL_DISABLEDYNAMICWINDOWSIZING- Wenn die Einstellung
falseoder0ist, wird der Standardwert außer Kraft gesetzt und der HTTP/2-Algorithmus für die dynamische Fensterskalierung deaktiviert.
- Wenn die Einstellung
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:
In der Projektdatei:
<PropertyGroup> <InvariantGlobalization>true</InvariantGlobalization> </PropertyGroup>In der Datei runtimeconfig.json:
{ "runtimeOptions": { "configProperties": { "System.Globalization.Invariant": true } } }Durch Einstellen des Werts der Umgebungsvariablen
DOTNET_SYSTEM_GLOBALIZATION_INVARIANTauftrueoder1.
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_COMPLETIONSDOTNET_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_COMPLETIONS1ist, wird der Wert Environment.ProcessorCount verwendet. - Wenn
DOTNET_SYSTEM_NET_SOCKETS_INLINE_COMPLETIONSnicht1ist, wird RuntimeInformation.ProcessArchitecture ausgewertet.- Im Falle von Arm oder Arm64 wird der Wert der Kerne pro Engine auf
8festgelegt, andernfalls auf30.
- Im Falle von Arm oder Arm64 wird der Wert der Kerne pro Engine auf
- Bei Verwendung der ermittelten Kerne pro Engine der Höchstwert von entweder
1oder 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_CONTAINERDOTNET_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 und zugehörige Variablen
-
DOTNET_SYSTEM_DIAGNOSTICS_DEFAULTACTIVITYIDFORMATISHIERARCHIAL: Bei1odertrueist 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 diesetrueist.
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 auf1die Ablaufverfolgung über EventPipe. -
DOTNET_EventPipeOutputPath: der Ausgabepfad, in den die Ablaufverfolgung geschrieben wird. -
DOTNET_EventPipeOutputStreaming: aktiviert bei Festlegung auf1das 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 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- Konfigurieren von MSBuild in der .NET CLI
DOTNET_NEW_PREFERRED_LANG-
dotnet watchUmgebungsvariablen
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:
- Behandeln von App-Startfehlern
- GitHub-Problem dotnet/core#7699
- GitHub ausgeben dotnet/runtime#79237
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:
-
DOTNET_ROOT_<ARCH>, wobei<ARCH>die Architektur der ausgeführten ausführbaren Datei (apphost) ist. Beispiel:-
DOTNET_ROOT_ARM64wird für einen Arm64-Prozess verwendet. -
DOTNET_ROOT_X64wird für einen x64-Prozess verwendet. Dieser Prozess kann auf der x64- oder Arm64-Architektur ausgeführt werden. -
DOTNET_ROOT_X86wird für einen x86-Prozess verwendet. Dieser Prozess kann auf der x86- oder x64-Architektur ausgeführt werden.
-
-
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. -
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=FirstStartprofil nicht angegeben, das erste wird ausgewählt
$ dotnet run DOTNET_LAUNCH_PROFILE=FirstStartprofil 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.
DOTNET_NOLOGO
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 auftruefest. -
DOTNET_CLI_CONTEXT_ANSI_PASS_THRU: Um einen ANSI-Passthrough zu aktivieren, legen Sie die Einstellung auftruefest.
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 ist0– Ablaufverfolgung deaktiviert. Wenn auf1festgelegt, ist die Diagnoseablaufverfolgung aktiviert.DOTNET_HOST_TRACEFILE=<file path>– hat nur dann Auswirkungen, wenn die Ablaufverfolgung durch Festlegen vonDOTNET_HOST_TRACE=1aktiviert wird. Wurde dies so festgelegt, werden die Ablaufverfolgungsinformationen in die angegebene Datei geschrieben, andernfalls instderr.DOTNET_HOST_TRACE_VERBOSITY=[1/2/3/4]– Standardwert ist4. Die Einstellung wird nur verwendet, wenn die Ablaufverfolgung überDOTNET_HOST_TRACE=1aktiviert 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.
-
COREHOST_TRACE- sieheDOTNET_HOST_TRACE. -
COREHOST_TRACEFILE- sieheDOTNET_HOST_TRACEFILE. -
COREHOST_TRACE_VERBOSITY- sieheDOTNET_HOST_TRACE_VERBOSITY.
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.