Sdílet prostřednictvím


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 nebo 0, zakáže podporu PROTOKOLU HTTP/2, která je ve výchozím nastavení povolená.
  • DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_HTTP3SUPPORT
    • Pokud je tato možnost nastavená true na hodnotu nebo 1, povolí podporu PROTOKOLU HTTP/3, která je ve výchozím nastavení zakázaná.
  • DOTNET_SYSTEM_NET_HTTP_SOCKETSHTTPHANDLER_HTTP2FLOWCONTROL_DISABLEDYNAMICWINDOWSIZING
    • Pokud je false nastavená hodnota nebo 0, přepíše výchozí a zakáže algoritmus dynamického škálování oken HTTP/2.
  • 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ů:

  1. V souboru projektu:

    <PropertyGroup>
        <InvariantGlobalization>true</InvariantGlobalization>
    </PropertyGroup>
    
  2. V souboru runtimeconfig.json:

    {
        "runtimeOptions": {
            "configProperties": {
                "System.Globalization.Invariant": true
            }
        }
    }
    
  3. Nastavením hodnoty DOTNET_SYSTEM_GLOBALIZATION_INVARIANT proměnné prostředí na true hodnotu nebo 1.

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 1hodnotu 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:

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 HttpClientHandlermůž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_USESOCKETSHTTPHANDLERprostředí . Pokud se chcete odhlásit, nastavte hodnotu na hodnotu nebo false 0na 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=2optimalizací, 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 , truemůžete vygenerovat kód barvy ANSI nastavením DOTNET_SYSTEM_CONSOLE_ALLOW_ANSI_COLOR_REDIRECTION na nebo 1 true.

  • DOTNET_SYSTEM_DIAGNOSTICS_DEFAULTACTIVITYIDFORMATISHIERARCHIAL: Pokud 1 nebo true, 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 je trueto .

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 1je .

DOTNET_EnableDiagnostics_IPC

Počínaje rozhraním .NET 8 zakážete 0diagnostický port a není možné ho přepsat jinými nastaveními diagnostiky. Výchozí hodnota 1je .

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 1je .

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 1je .

Proměnné EventPipe

Další informace najdete v tématu Proměnné prostředí EventPipe.

  • DOTNET_EnableEventPipe: Pokud je nastavená hodnota 1, povolí trasování přes EventPipe.
  • DOTNET_EventPipeOutputPath: Výstupní cesta, kam bude trasování zapsáno.
  • DOTNET_EventPipeOutputStreaming: Pokud je nastavená hodnota 1, 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_X86DOTNET_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:

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ému PATH

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.

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 true1, nebo yes akceptovaly) nebo je nastavily tak, aby false povolovaly (hodnoty false, 0nebo 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 1hodnotu , truenebo 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 0hodnotu , falsenebo 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, falsenebo 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, 1nebo yes akceptované). V opačném případě nastavte, aby false se přihlásil k funkcím telemetrie (hodnoty false, 0nebo 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 0hodnotu . 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-depsrozhraní 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 na truehodnotu .
  • DOTNET_CLI_CONTEXT_ANSI_PASS_THRU: Chcete-li povolit průchozí rozhraní ANSI, nastavte hodnotu true.

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, hostfxra hostpolicy.

  • COREHOST_TRACE=[0/1] – výchozí hodnota je 0 – trasování zakázáno. Pokud je nastavená hodnota 1, je povolené trasování diagnostiky.

  • COREHOST_TRACEFILE=<file path> - má účinek pouze v případě, že je trasování povoleno nastavením COREHOST_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 do stderr.

  • COREHOST_TRACE_VERBOSITY=[1/2/3/4] - výchozí hodnota je 4. Toto nastavení se používá pouze v případech, kdy je povoleno trasování prostřednictvím COREHOST_TRACE=1.

    • 4 - všechny informace o trasování jsou zapsány
    • 3 - 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 1hodnotu , truenebo 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, truenebo 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.

Viz také