configProperties em .runtimeconfig.dev.json substituir .runtimeconfig.json

Se um aplicativo definir a mesma chave de runtime configProperties em ambos .runtimeconfig.json e .runtimeconfig.dev.json, o .runtimeconfig.dev.json valor terá precedência.

Versão introduzida

.NET 11 Versão Prévia 6

Comportamento anterior

Anteriormente, .runtimeconfig.json tinha precedência sobre .runtimeconfig.dev.json para chaves configProperties duplicadas.

Por exemplo:

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

Com essa configuração, foi utilizado o runtime System.GC.Concurrent: true.

Novo comportamento

Para comportar substituições em tempo de desenvolvimento no .NET 11, .runtimeconfig.dev.json tem precedência sobre .runtimeconfig.json para chaves configProperties duplicadas.

Usando o mesmo exemplo, o runtime agora usa System.GC.Concurrent: false.

Tipo de mudança disruptiva

Esta é uma alteração comportamental.

Motivo da alteração

Essa alteração permite que os desenvolvedores substituam as configurações de produção durante o desenvolvimento sem modificar os arquivos de configuração de produção.

Para obter mais informações, consulte dotnet/runtime#126606.

Para um comportamento previsível de produção, coloque apenas as substituições de tempo de desenvolvimento em .runtimeconfig.dev.json.

Para impedir uma substituição em tempo de desenvolvimento, remova a chave duplicada de .runtimeconfig.dev.json.

APIs afetadas

Nenhum.

Consulte também