Proměnné prostředí .NET
Tento článek se vztahuje na: ✔️ .NET Core 3.1 SDK a novější verze
V tomto článku se dozvíte o proměnných prostředí používaných rozhraním .NET. Některé proměnné prostředí používají modul runtime .NET, zatímco jiné jsou používány pouze sadou .NET SDK a rozhraním příkazového řádku .NET. Některé proměnné prostředí používají všechny tři komponenty.
Proměnné prostředí modulu runtime .NET
DOTNET_SYSTEM_NET_HTTP_*
Existuje několik globálních nastavení proměnných prostředí HTTP:
DOTNET_SYSTEM_NET_HTTP_ENABLEACTIVITYPROPAGATION
- Určuje, jestli se má povolit šíření aktivit obslužné rutiny diagnostiky pro globální nastavení HTTP.
DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_HTTP2SUPPORT
- Pokud je
false
tato možnost nastavená na hodnotu nebo0
, zakáže podporu PROTOKOLU HTTP/2, která je ve výchozím nastavení povolená.
- Pokud je
DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_HTTP3SUPPORT
- Pokud je tato možnost nastavená
true
na hodnotu nebo1
, povolí podporu PROTOKOLU HTTP/3, která je ve výchozím nastavení zakázaná.
- Pokud je tato možnost nastavená
DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_HTTP2FLOWCONTROL_DISABLEDYNAMICWINDOWSIZING
- Pokud je
false
nastavená hodnota nebo0
, přepíše výchozí a zakáže algoritmus dynamického škálování oken HTTP/2.
- Pokud je
DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_FLOWCONTROL_MAXSTREAMWINDOWSIZE
- Výchozí hodnota je 16 MB. Při přepsání nesmí být maximální velikost okna příjmu datového proudu HTTP/2 menší než 65 535.
DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_FLOWCONTROL_STREAMWINDOWSCALETHRESHOLDMULTIPLIER
- Výchozí hodnota je 1.0. Při přepsání mají vyšší hodnoty za následek kratší okno, ale pomalejší stahování. Nesmí být menší než 0.
DOTNET_SYSTEM_GLOBALIZATION_*
DOTNET_SYSTEM_GLOBALIZATION_INVARIANT
: Viz nastavení invariantní režim.DOTNET_SYSTEM_GLOBALIZATION_PREDEFINED_CULTURES_ONLY
: Určuje, zda se mají načíst pouze předdefinované jazykové verze.DOTNET_SYSTEM_GLOBALIZATION_APPLOCALICU
: Určuje, jestli se má použít místní mezinárodní komponenty Unicode (ICU). Další informace najdete v tématu Místní ICU pro aplikace.
Nastavit invariantní režim
Aplikace mohou invariantní režim povolit některým z následujících způsobů:
V souboru projektu:
<PropertyGroup> <InvariantGlobalization>true</InvariantGlobalization> </PropertyGroup>
V souboru runtimeconfig.json:
{ "runtimeOptions": { "configProperties": { "System.Globalization.Invariant": true } } }
Nastavením hodnoty
DOTNET_SYSTEM_GLOBALIZATION_INVARIANT
proměnné prostředí natrue
hodnotu nebo1
.
Důležité
Hodnota nastavená v souboru projektu nebo runtimeconfig.json má vyšší prioritu než proměnná prostředí.
Další informace naleznete v tématu Invariantní režim globalizace .NET.
DOTNET_SYSTEM_GLOBALIZATION_USENLS
To platí jenom pro Windows. Aby globalizace používala národní jazykovou podporu (NLS), je nastavena DOTNET_SYSTEM_GLOBALIZATION_USENLS
na hodnotu nebo true
1
. Pokud ho nechcete používat, nastavte DOTNET_SYSTEM_GLOBALIZATION_USENLS
ho na hodnotu nebo false
0
.
DOTNET_SYSTEM_NET_SOCKETS_*
Tato část se zaměřuje na dvě System.Net.Sockets
proměnné prostředí:
DOTNET_SYSTEM_NET_SOCKETS_INLINE_COMPLETIONS
DOTNET_SYSTEM_NET_SOCKETS_THREAD_COUNT
Pokračování soketů se odesílají do System.Threading.ThreadPool vlákna události. Tím se zabrání pokračování blokující zpracování událostí. Chcete-li povolit pokračování běžet přímo ve vlákně události, nastavte na 1
hodnotu DOTNET_SYSTEM_NET_SOCKETS_INLINE_COMPLETIONS
. Ve výchozím nastavení je vypnuto.
Poznámka:
Toto nastavení může zhoršit výkon, pokud je nákladná práce, která nakonec podrží vstupně-výstupní vlákno déle, než je potřeba. Otestujte, abyste měli jistotu, že toto nastavení pomáhá s výkonem.
Pomocí srovnávacích testů TechEmpower, které generují velké množství malých soketů čtení a zápisů pod velmi vysokým zatížením, dokáže jeden modul soketů udržet zaneprázdněn až třicet x64 a osm jader procesoru Arm64. Velká většina scénářů reálného života nikdy nevygeneruje takovou obrovskou zátěž (stovky tisíc požadavků za sekundu) a mít jednoho producenta je téměř vždy dost. Abyste ale měli jistotu, že je možné zpracovat extrémní zatížení, můžete přepsat DOTNET_SYSTEM_NET_SOCKETS_THREAD_COUNT
počítanou hodnotu. Pokud nepřepíšete, použije se následující hodnota:
- Pokud
DOTNET_SYSTEM_NET_SOCKETS_INLINE_COMPLETIONS
je1
hodnota, Environment.ProcessorCount použije se. - Pokud
DOTNET_SYSTEM_NET_SOCKETS_INLINE_COMPLETIONS
není1
, RuntimeInformation.ProcessArchitecture vyhodnotí se:- Pokud arm nebo Arm64 jádra na hodnotu motoru je nastavena na
8
, jinak30
.
- Pokud arm nebo Arm64 jádra na hodnotu motoru je nastavena na
- Při použití určených jader na modul je maximální hodnota
1
buď nebo Environment.ProcessorCount nad jádry na modul.
DOTNET_SYSTEM_NET_DISABLEIPV6
Pomáhá určit, jestli je zakázaná verze protokolu IPv6 (Internet Protocol verze 6). Pokud je nastavena hodnota buď true
nebo 1
, protokol IPv6 je zakázán, pokud není uvedeno jinak v sadě System.AppContext.
DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER
Ke konfiguraci procesu pro použití staršího HttpClientHandler
můžete použít jeden z následujících mechanismů:
Z kódu použijte AppContext
třídu:
AppContext.SetSwitch("System.Net.Http.UseSocketsHttpHandler", false);
Přepínač AppContext
lze také nastavit konfiguračním souborem. Další informace o konfiguraci přepínačů najdete v tématu AppContext pro uživatele knihovny.
Totéž lze dosáhnout prostřednictvím proměnné DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER
prostředí . Pokud se chcete odhlásit, nastavte hodnotu na hodnotu nebo false
0
na hodnotu .
Poznámka:
Od verze .NET 5 už toto nastavení HttpClientHandler není k dispozici.
DOTNET_Jit*
a DOTNET_GC*
Existují dvě funkce související se stresováním pro informace o GC generované JIT a JIT: JIT Stress a GC Hole Stress. Tyto funkce poskytují způsob, jak během vývoje objevit hraniční případy a další scénáře "reálného světa", aniž byste museli vyvíjet složité aplikace. K dispozici jsou následující proměnné prostředí:
DOTNET_JitStress
DOTNET_JitStressModeNamesOnly
DOTNET_GCStress
JIT stress
Povolení JIT Stress je možné provést několika způsoby. Nastavte DOTNET_JitStress
na nenulovou celočíselnou hodnotu, která vygeneruje různé úrovně optimalizací JIT na základě hodnoty hash názvu metody. Chcete-li použít všechny sady DOTNET_JitStress=2
optimalizací, například. Dalším způsobem, jak povolit JIT Stress, je nastavení DOTNET_JitStressModeNamesOnly=1
a vyžádání režimů napětí oddělených mezerami v DOTNET_JitStressModeNames
proměnné.
Jako příklad zvažte:
DOTNET_JitStressModeNames=STRESS_USE_CMOV STRESS_64RSLT_MUL STRESS_LCL_FLDS
Napětí otvoru GC
Povolení GC Hole Stress způsobuje, že GCS se vždy vyskytují v určitých umístěních a pomáhá sledovat díry GC. GC Hole Stress lze povolit pomocí DOTNET_GCStress
proměnné prostředí.
Další informace naleznete v tématu Zkoumání JIT a GC Hole stres.
Bariéry paměti JIT
Generátor kódu pro Arm64 umožňuje odebrat všechny MemoryBarriers
instrukce nastavením DOTNET_JitNoMemoryBarriers
na 1
.
DOTNET_RUNNING_IN_CONTAINER
a DOTNET_RUNNING_IN_CONTAINERS
Oficiální image .NET (Windows a Linux) nastavují dobře známé proměnné prostředí:
DOTNET_RUNNING_IN_CONTAINER
DOTNET_RUNNING_IN_CONTAINERS
Tyto hodnoty se používají k určení, kdy se úlohy ASP.NET Core spouští v kontextu kontejneru.
DOTNET_SYSTEM_CONSOLE_ALLOW_ANSI_COLOR_REDIRECTION
Pokud Console.IsOutputRedirected je , true
můžete vygenerovat kód barvy ANSI nastavením DOTNET_SYSTEM_CONSOLE_ALLOW_ANSI_COLOR_REDIRECTION
na nebo 1
true
.
DOTNET_SYSTEM_DIAGNOSTICS
a související proměnné
DOTNET_SYSTEM_DIAGNOSTICS_DEFAULTACTIVITYIDFORMATISHIERARCHIAL
: Pokud1
nebotrue
, výchozí formát ID aktivity je hierarchický.DOTNET_SYSTEM_RUNTIME_CACHING_TRACING
: Při spuštění jako Ladění lze trasování povolit, pokud jetrue
to .
DOTNET_DiagnosticPorts
Konfiguruje alternativní koncové body, kde diagnostické nástroje můžou komunikovat s modulem runtime .NET. Další informace najdete v dokumentaci k diagnostickému portu.
DOTNET_DefaultDiagnosticPortSuspend
Nakonfiguruje modul runtime tak, aby se pozastavil během spouštění a počkal na příkaz Diagnostics IPC ResumeStartup z zadaného diagnostického portu, pokud je nastaven na hodnotu 1. Výchozí hodnota je 0. Další informace najdete v dokumentaci k diagnostickému portu.
DOTNET_EnableDiagnostics
Pokud je nastavená možnost 0
, zakáže ladění, profilaci a další diagnostiku prostřednictvím diagnostického portu a nebude možné je přepsat jinými nastaveními diagnostiky. Výchozí hodnota 1
je .
DOTNET_EnableDiagnostics_IPC
Počínaje rozhraním .NET 8 zakážete 0
diagnostický port a není možné ho přepsat jinými nastaveními diagnostiky. Výchozí hodnota 1
je .
DOTNET_EnableDiagnostics_Debugger
Počínaje platformou .NET 8, pokud je nastavená možnost 0
, zakáže ladění a nelze je přepsat jinými nastaveními diagnostiky. Výchozí hodnota 1
je .
DOTNET_EnableDiagnostics_Profiler
Počínaje rozhraním .NET 8, pokud je nastavená možnost 0
, zakáže profilaci a nelze ji přepsat jinými nastaveními diagnostiky. Výchozí hodnota 1
je .
Proměnné EventPipe
Další informace najdete v tématu Proměnné prostředí EventPipe.
DOTNET_EnableEventPipe
: Pokud je nastavená hodnota1
, povolí trasování přes EventPipe.DOTNET_EventPipeOutputPath
: Výstupní cesta, kam bude trasování zapsáno.DOTNET_EventPipeOutputStreaming
: Pokud je nastavená hodnota1
, povolí streamování do výstupního souboru, když je aplikace spuštěná. Ve výchozím nastavení se informace o trasování shromažďují v kruhové vyrovnávací paměti a obsah se zapisuje při vypnutí aplikace.
Proměnné prostředí .NET SDK a rozhraní příkazového řádku
DOTNET_ROOT
, DOTNET_ROOT(x86)
, , DOTNET_ROOT_X86
DOTNET_ROOT_X64
Určuje umístění modulů runtime .NET, pokud nejsou nainstalované ve výchozím umístění. Výchozí umístění ve Windows je C:\Program Files\dotnet
. Výchozí umístění v systému macOS je /usr/local/share/dotnet
. Výchozí umístění pro moduly runtime x64 v operačním systému arm64 je podsložkou x64 (tak v C:\Program Files\dotnet\x64
oknech a /usr/local/share/dotnet/x64
v macOS). Výchozí umístění v Linuxu se liší v závislosti na metodě distribuce a instalace. Výchozí umístění ubuntu 22.04 je /usr/share/dotnet
(při instalaci z packages.microsoft.com
) nebo /usr/lib/dotnet
(při instalaci z informačního kanálu Jammy). Další informace naleznete v následujících zdrojích:
- Řešení potíží se selháním spuštění aplikace
- Problém s GitHubem – dotnet/core#7699
- Problém GitHubu – dotnet/runtime#79237
Tato proměnná prostředí se používá pouze při spouštění aplikací prostřednictvím generovaných spustitelných souborů (apphosts). DOTNET_ROOT(x86)
se používá místo toho při spuštění 32bitového spustitelného souboru v 64bitovém operačním systému. DOTNET_ROOT_X64
se používá místo toho při spuštění 64bitového spustitelného souboru v operačním systému ARM64.
DOTNET_HOST_PATH
Určuje absolutní cestu k dotnet
hostiteli (dotnet.exe
ve Windows, dotnet
v Linuxu a macOS), který se použil ke spuštění aktuálně spuštěného dotnet
procesu. Sada .NET SDK to používá k tomu, aby pomohla nástrojům, které běží během příkazů sady .NET SDK, zajistit, aby používaly stejný dotnet
modul runtime pro všechny podřízené dotnet
procesy, které vytvoří po dobu trvání příkazu. Očekává se, že nástroje a úlohy NÁSTROJE MSBuild v sadě SDK, které volat binární soubory prostřednictvím dotnet
hostitele, budou respektovat tuto proměnnou prostředí, aby se zajistilo konzistentní prostředí.
Nástroje, které se vyvolávají dotnet
během příkazu sady SDK, by měly k jeho vyhledání použít následující algoritmus:
- pokud
DOTNET_HOST_PATH
je nastavena, použijte tuto hodnotu přímo. - v opačném případě se spolehněte na
dotnet
prostřednictvím systémuPATH
Poznámka:
DOTNET_HOST_PATH
není obecné řešení pro vyhledání dotnet
hostitele. Účelem je používat pouze nástroje, které jsou vyvolány sadou .NET SDK.
DOTNET_LAUNCH_PROFILE
Příkaz dotnet run nastaví tuto proměnnou na vybraný spouštěcí profil.
Vzhledem k následujícímu souboru launchSettings.json :
{
"profiles": {
"First": {
"commandName": "Project",
},
"Second": {
"commandName": "Project",
}
}
}
A následující Program.cs soubor:
var value = Environment.GetEnvironmentVariable("DOTNET_LAUNCH_PROFILE");
Console.WriteLine($"DOTNET_LAUNCH_PROFILE={value}");
Výstup se zobrazí v následujících scénářích:
Zadaný a existující profil spuštění
$ dotnet run --launch-profile First DOTNET_LAUNCH_PROFILE=First
Nezadá se zadaný profil spuštění, první vybraný profil
$ dotnet run DOTNET_LAUNCH_PROFILE=First
Zadaný profil spuštění, ale neexistuje.
$ 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=
Spuštění bez profilu
$ dotnet run --no-launch-profile DOTNET_LAUNCH_PROFILE=
NUGET_PACKAGES
Složka globálních balíčků. Pokud není nastavená, je výchozí hodnota ~/.nuget/packages
v systémech Unix nebo %userprofile%\.nuget\packages
Ve Windows.
DOTNET_SERVICING
Určuje umístění indexu údržby, který se má použít sdíleným hostitelem při načítání modulu runtime.
DOTNET_NOLOGO
Určuje, jestli se při prvním spuštění zobrazí uvítací a telemetrické zprávy .NET. Nastavte, aby true
se tyto zprávy ztlumily (hodnoty true
1
, nebo yes
akceptovaly) nebo je nastavily tak, aby false
povolovaly (hodnoty false
, 0
nebo no
akceptované). Pokud není nastavená, výchozí hodnota je false
a zprávy se zobrazí při prvním spuštění. Tento příznak nemá vliv na telemetrii (viz výslovný DOTNET_CLI_TELEMETRY_OPTOUT
nesouhlas s odesíláním telemetrie).
DOTNET_CLI_PERF_LOG
Určuje, jestli se protokolují podrobnosti o výkonu aktuální relace rozhraní příkazového řádku. Povoleno při nastavení na 1
hodnotu , true
nebo yes
. Tato možnost je ve výchozím nastavení zakázána.
DOTNET_GENERATE_ASPNET_CERTIFICATE
Určuje, jestli se má vygenerovat certifikát ASP.NET Core. Výchozí hodnota je true
, ale to lze přepsat nastavením této proměnné prostředí na 0
hodnotu , false
nebo no
.
DOTNET_ADD_GLOBAL_TOOLS_TO_PATH
Určuje, jestli se mají do PATH
proměnné prostředí přidat globální nástroje. Výchozí hodnota je true
. Pokud nechcete do cesty přidávat globální nástroje, nastavte hodnotu 0
, false
nebo no
.
DOTNET_CLI_TELEMETRY_OPTOUT
Určuje, jestli se data o využití nástrojů .NET shromažďují a odesílají do Microsoftu. Nastavte možnost true
odhlášení z funkce telemetrie (hodnoty true
, 1
nebo yes
akceptované). V opačném případě nastavte, aby false
se přihlásil k funkcím telemetrie (hodnoty false
, 0
nebo no
akceptované). Pokud není nastavená, výchozí hodnota je false
a funkce telemetrie je aktivní.
DOTNET_SKIP_FIRST_TIME_EXPERIENCE
Pokud DOTNET_SKIP_FIRST_TIME_EXPERIENCE
je nastavená hodnota true
, NuGetFallbackFolder
nebude se rozbalit na disk a zobrazí se kratší uvítací zpráva a oznámení o telemetrii.
Poznámka:
Tato proměnná prostředí se už v .NET Core 3.0 a novějším nepodporuje.
Slouží DOTNET_NOLOGO
jako náhrada.
DOTNET_MULTILEVEL_LOOKUP
Určuje, jestli se modul runtime .NET, sdílená architektura nebo sada SDK přeloží z globálního umístění. Pokud není nastavená, výchozí hodnota je 1 (logická true
). Nastavte hodnotu na 0 (logickou false
) tak, aby se nepřeložila z globálního umístění a mají izolované instalace .NET. Další informace o vyhledávání na více úrovních naleznete v tématu Multi-level SharedFX Lookup.
Poznámka:
Tato proměnná prostředí se vztahuje pouze na aplikace, které cílí na .NET 6 a starší verze. Počínaje rozhraním .NET 7 hledá rozhraní .NET pouze v jednom umístění. Další informace naleznete v tématu Víceúrovňové vyhledávání je zakázáno.
DOTNET_ROLL_FORWARD
Určuje chování vrácení vpřed. Další informace najdete v --roll-forward
možnosti dotnet
příkazu.
DOTNET_ROLL_FORWARD_TO_PRERELEASE
Pokud je tato možnost nastavená na 1
(povoleno), umožňuje z verze vydané verze přejít k předběžné verzi. Ve výchozím nastavení (0
- zakázáno), pokud je požadována verze modulu runtime .NET, roll-forward bude zvažovat pouze nainstalované verze.
Další informace najdete v --roll-forward
možnosti dotnet
příkazu.
DOTNET_ROLL_FORWARD_ON_NO_CANDIDATE_FX
Zakáže vrácení podverze vpřed, pokud je nastavena na 0
hodnotu . Toto nastavení je nahrazeno v .NET Core 3.0 DOTNET_ROLL_FORWARD
. Místo toho by se měla použít nová nastavení.
DOTNET_CLI_FORCE_UTF8_ENCODING
Vynutí použití kódování UTF-8 v konzole, i pro starší verze Windows 10, které plně nepodporují UTF-8. Další informace najdete v tématu Sada SDK, která po dokončení nezmění kódování konzoly.
DOTNET_CLI_UI_LANGUAGE
Nastaví jazyk uživatelského rozhraní příkazového řádku pomocí hodnoty národního prostředí, například en-us
. Podporované hodnoty jsou stejné jako pro Visual Studio. Další informace najdete v části o změně jazyka instalačního programu v dokumentaci k instalaci sady Visual Studio. Pravidla správce prostředků .NET platí, takže nemusíte vybírat přesnou shodu – můžete také vybrat potomky ve CultureInfo
stromu. Pokud ho například nastavíte na fr-CA
, rozhraní příkazového řádku vyhledá a použije fr
překlady. Pokud ho nastavíte na jazyk, který není podporovaný, rozhraní příkazového řádku se vrátí zpět do angličtiny.
DOTNET_DISABLE_GUI_ERRORS
U generovaných spustitelných souborů s grafickým uživatelským rozhraním – zakáže automaticky otevírané okno, které se obvykle zobrazuje pro určité třídy chyb. V těchto případech se zapisuje stderr
a ukončuje.
DOTNET_ADDITIONAL_DEPS
Ekvivalent možnosti --additional-deps
rozhraní příkazového řádku .
DOTNET_RUNTIME_ID
Přepíše zjištěné identifikátory RID.
DOTNET_SHARED_STORE
Umístění sdíleného úložiště, na které se rozlišení sestavení v některých případech vrátí.
DOTNET_STARTUP_HOOKS
Seznam sestavení, ze které se mají načíst a spouštět spouštěcí háky
DOTNET_BUNDLE_EXTRACT_BASE_DIR
Určuje adresář, do kterého se před spuštěním extrahuje jednosouborová aplikace.
Další informace najdete v tématu Spustitelné soubory s jedním souborem.
DOTNET_CLI_HOME
Určuje umístění, do kterého se mají zapisovat podpůrné soubory pro příkazy .NET CLI. Příklad:
- Uživatelsky zapisovatelné cesty pro balíčky úloh, manifesty a další podpůrná data
- Soubory sentinel/lock pro první spuštění migrace a oznámení rozhraní příkazového řádku .NET CLI při prvním spuštění
- Výchozí umístění instalace místního nástroje .NET.
DOTNET_CLI_CONTEXT_*
DOTNET_CLI_CONTEXT_VERBOSE
: Chcete-li povolit podrobný kontext, nastavte natrue
hodnotu .DOTNET_CLI_CONTEXT_ANSI_PASS_THRU
: Chcete-li povolit průchozí rozhraní ANSI, nastavte hodnotutrue
.
DOTNET_CLI_WORKLOAD_UPDATE_NOTIFY_DISABLE
Zakáže stahování reklamních manifestů na pozadí pro úlohy. Výchozí hodnota je false
– není zakázaná. Pokud je nastavená hodnota true
, stahování je zakázané. Další informace naleznete v tématu Reklamní manifesty.
DOTNET_CLI_WORKLOAD_UPDATE_NOTIFY_INTERVAL_HOURS
Určuje minimální počet hodin mezi stahováním reklamních manifestů na pozadí pro úlohy. Výchozí hodnota je 24
, která není častěji než jednou denně. Další informace naleznete v tématu Reklamní manifesty.
DOTNET_TOOLS_ALLOW_MANIFEST_IN_ROOT
Určuje, jestli místní nástroje sady .NET SDK hledají soubory manifestu nástrojů v kořenové složce ve Windows. Výchozí hodnota je false
.
COREHOST_TRACE
Řídí trasování diagnostiky z hostitelských komponent, například dotnet.exe
, hostfxr
a hostpolicy
.
COREHOST_TRACE=[0/1]
– výchozí hodnota je0
– trasování zakázáno. Pokud je nastavená hodnota1
, je povolené trasování diagnostiky.COREHOST_TRACEFILE=<file path>
- má účinek pouze v případě, že je trasování povoleno nastavenímCOREHOST_TRACE=1
. Při nastavení se informace o trasování zapisuje do zadaného souboru; v opačném případě jsou informace o trasování zapsány dostderr
.COREHOST_TRACE_VERBOSITY=[1/2/3/4]
- výchozí hodnota je4
. Toto nastavení se používá pouze v případech, kdy je povoleno trasování prostřednictvímCOREHOST_TRACE=1
.4
- všechny informace o trasování jsou zapsány3
- Zapisují se pouze informační, upozorňující a chybové zprávy.2
- Zapisují se pouze upozornění a chybové zprávy.1
- Zapisují se pouze chybové zprávy.
Typickým způsobem, jak získat podrobné informace o spuštění aplikace, je nastavit COREHOST_TRACE=1
aCOREHOST_TRACEFILE=host_trace.txt
spustit aplikaci. V aktuálním adresáři se vytvoří nový soubor host_trace.txt
s podrobnými informacemi.
SuppressNETCoreSdkPreviewMessage
Pokud je nastavená hodnota true
, vyvolání dotnet
nevygeneruje upozornění při použití sady SDK ve verzi Preview.
Konfigurace nástroje MSBuild v rozhraní příkazového řádku .NET
Chcete-li spustit nástroj MSBuild mimo proces, nastavte proměnnou DOTNET_CLI_RUN_MSBUILD_OUTOFPROC
prostředí na 1
hodnotu , true
nebo yes
. Ve výchozím nastavení msBuild spustí in-proc. Chcete-li vynutit, aby nástroj MSBuild používal externí pracovní uzel dlouhotrvající proces pro vytváření projektů, nastaven DOTNET_CLI_USE_MSBUILDNOINPROCNODE
na 1
, true
nebo yes
. Tím se nastaví MSBUILDNOINPROCNODE
proměnná prostředí na 1
, která se označuje jako MSBuild Server V1, protože vstupní proces předá většinu práce na něm.
DOTNET_MSBUILD_SDK_RESOLVER_*
Jedná se o přepsání, která se používají k vynucení úloh a cílů sady SDK, které pocházejí z daného základního adresáře, a hlásí danou verzi nástroje MSBuild, což může být null
v případě neznámé. Jedním z klíčových případů použití je testování úloh a cílů sady SDK bez jejich nasazení pomocí sady .NET Core SDK.
DOTNET_MSBUILD_SDK_RESOLVER_SDKS_DIR
: Přepíše adresář sady .NET SDK.DOTNET_MSBUILD_SDK_RESOLVER_SDKS_VER
: Přepíše verzi sady .NET SDK.DOTNET_MSBUILD_SDK_RESOLVER_CLI_DIR
: Přepíše cestu k adresáři dotnet.exe .
DOTNET_NEW_PREFERRED_LANG
Nakonfiguruje výchozí programovací jazyk pro dotnet new
příkaz, když -lang|--language
je přepínač vynechán. Výchozí hodnota je C#
. Platné hodnoty jsou C#
, F#
nebo VB
. Další informace najdete v tématu dotnet new.
dotnet watch
proměnné prostředí
Informace o dotnet watch
nastaveních, která jsou k dispozici jako proměnné prostředí, najdete v tématu dotnet watch environment variables.