Proměnné prostředí mají přednost v konfiguraci spuštění aplikace.

Od verze .NET 9 se změnila priorita způsobu řešení konfigurace modulu runtime aplikace. Pokud jsou k dispozici proměnné prostředí i odpovídající nastavení v souboru aplikace runtimeconfig.json (nebo souboru projektu), má tato proměnná prostředí přednost před konfiguračním souborem.

Verze byla představena

.NET 9

Předchozí chování

Dříve, když byla nastavena jak proměnná prostředí, tak odpovídající nastavení v aplikaci runtimeconfig.json , runtimeconfig.json měla přednost.

Představte si například aplikaci s následujícím runtimeconfig.json souborem:

{
  "runtimeOptions": {
    "configProperties": {
      "System.GC.Server": true
    }
  }
}

Pokud by proměnná DOTNET_gcServer prostředí byla nastavena na 0 (false), aplikace by přesto používala uvolňování paměti serveru, protože nastavení runtimeconfig.json mělo přednost. Proměnná prostředí byla účinně ignorována.

Nové chování

Počínaje .NET 9 má proměnná prostředí přednost před odpovídajícím nastavením definovaným v aplikaci runtimeconfig.json, pokud jsou obě hodnoty nastaveny.

Použití stejného příkladu jako v části Předchozí chování , pokud je proměnná DOTNET_gcServer prostředí nastavena na 0 (false), aplikace nyní místo uvolňování paměti serveru používá uvolňování paměti pracovní stanice, i když runtimeconfig.json určuje System.GC.Server jako true. Proměnná prostředí přepíše nastavení konfiguračního souboru.

Typ zásadní změny

Tato změna je změna chování.

Důvod změny

Nové chování je konzistentnější s tím, jak konfigurace obvykle funguje v .NET a jinde, přičemž proměnné prostředí mají přednost.

Pokud vaše aplikace běží v prostředí s konfiguračními proměnnými prostředí modulu runtime nastavenými na jiné než požadované hodnoty, odstraňte proměnnou prostředí nebo ji nastavte na požadovanou hodnotu konfigurace.

Ovlivněná rozhraní API

Žádné.

Viz také