configProperties in .runtimeconfig.dev.json overschrijven .runtimeconfig.json

Als een app dezelfde runtime-sleutel configProperties definieert in zowel .runtimeconfig.json als .runtimeconfig.dev.json, heeft de waarde .runtimeconfig.dev.json voorrang.

Geïntroduceerde versie

.NET 11 preview 6

Vorig gedrag

Voorheen had .runtimeconfig.json voorrang op .runtimeconfig.dev.json bij dubbele configProperties-sleutels.

Voorbeeld:

// app.runtimeconfig.json
{
  "runtimeOptions": {
    "configProperties": {
      "System.GC.Concurrent": true
    }
  }
}
// app.runtimeconfig.dev.json
{
  "runtimeOptions": {
    "configProperties": {
      "System.GC.Concurrent": false
    }
  }
}

Met deze configuratie werd de runtime System.GC.Concurrent: true gebruikt.

Nieuw gedrag

Om overschrijvingen tijdens de ontwikkeling in .NET 11 te ondersteunen, heeft .runtimeconfig.dev.json voorrang op .runtimeconfig.json bij dubbele configProperties-sleutels.

In hetzelfde voorbeeld gebruikt de runtime nu System.GC.Concurrent: false.

Type van brekende verandering

Deze wijziging is een gedragswijziging.

Reden voor wijziging

Met deze wijziging kunnen ontwikkelaars productie-instellingen overschrijven tijdens de ontwikkeling zonder productieconfiguratiebestanden te wijzigen.

Zie dotnet/runtime#126606 voor meer informatie.

Voor voorspelbaar productiegedrag plaatst u alleen onderdrukkingen van ontwikkelingstijd in .runtimeconfig.dev.json.

Om te voorkomen dat een sleutel tijdens de ontwikkeling wordt overschreven, verwijdert u de dubbele sleutel uit .runtimeconfig.dev.json.

Betreffende API's

Geen.

Zie ook