configProperties в файле .runtimeconfig.dev.json переопределяют значения из .runtimeconfig.json

Если приложение определяет один и тот же ключ среды выполнения configProperties и в .runtimeconfig.json, и в .runtimeconfig.dev.json, приоритет имеет значение .runtimeconfig.dev.json.

Представленная версия

.NET 11 предварительная версия 6

Предыдущее поведение

Ранее .runtimeconfig.json имел приоритет перед .runtimeconfig.dev.json для повторяющихся ключей configProperties.

Рассмотрим пример.

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

При этой конфигурации использовалась среда выполнения System.GC.Concurrent: true.

Новое поведение

Для поддержки переопределений на этапе разработки в .NET 11 .runtimeconfig.dev.json имеет приоритет над .runtimeconfig.json для повторяющихся ключей configProperties.

Используя тот же пример, среда выполнения теперь использует System.GC.Concurrent: false.

Тип разрушающего изменения

Это изменение поведения.

Причина изменения

Это изменение позволяет разработчикам переопределять рабочие параметры во время разработки без изменения рабочих файлов конфигурации.

Дополнительные сведения см. в статье dotnet/runtime#126606.

Чтобы обеспечить предсказуемое поведение в рабочей среде, размещайте переопределения для этапа разработки только в .runtimeconfig.dev.json.

Чтобы предотвратить переопределение во время разработки, удалите дублирующийся ключ из .runtimeconfig.dev.json.

Затронутые API

Нет.

См. также