.runtimeconfig.dev.json の configProperties は .runtimeconfig.json の configProperties を上書きします

アプリがconfigProperties.runtimeconfig.jsonの両方で同じランタイム .runtimeconfig.dev.json キーを定義する場合、.runtimeconfig.dev.json値が優先されます。

導入されたバージョン

.NET 11 Preview 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

なし。

こちらも参照ください