configProperties dalam .runtimeconfig.dev.json menimpa .runtimeconfig.json

Jika aplikasi menentukan kunci runtime configProperties yang sama baik di .runtimeconfig.json maupun di .runtimeconfig.dev.json, nilai .runtimeconfig.dev.json yang diprioritaskan.

Versi yang diperkenalkan

.NET 11 Pratinjau 6

Perilaku sebelumnya

Sebelumnya, .runtimeconfig.json diprioritaskan daripada .runtimeconfig.dev.json untuk kunci configProperties duplikat.

Contohnya:

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

Dengan konfigurasi ini, runtime menggunakan System.GC.Concurrent: true.

Perilaku baru

Untuk mendukung penimpaan saat pengembangan di .NET 11, .runtimeconfig.dev.json didahulukan daripada .runtimeconfig.json untuk kunci configProperties yang duplikat.

Menggunakan contoh yang sama, runtime sekarang menggunakan System.GC.Concurrent: false.

Jenis perubahan yang memutus kompatibilitas

Perubahan ini adalah perubahan perilaku.

Alasan perubahan

Perubahan ini memungkinkan pengembang untuk mengambil alih pengaturan produksi selama pengembangan tanpa memodifikasi file konfigurasi produksi.

Untuk informasi selengkapnya, lihat dotnet/runtime#126606.

Untuk perilaku produksi yang dapat diprediksi, hanya ambil alih waktu pengembangan di .runtimeconfig.dev.json.

Untuk mencegah penimpaan saat pengembangan, hapus kunci duplikat dari .runtimeconfig.dev.json.

API yang Terpengaruh

Tidak ada.

Baca juga