В чем разница между appsettings.json и runtimeconfig.json?

#c# #.net #asp.net-core #.net-5

#c# #.net #asp.net-core #.net-5

Вопрос:

Какова цель любого из этих файлов?

Когда использовать appsettings.json?

Когда использовать runtimeconfig.json?

Ответ №1:

appsettings.json предназначен для настройки вашего приложения. Вы (или ваша IDE) создаете этот файл. Вы вручную поддерживаете его с необходимыми изменениями.

runtimeconfig.json это внутренняя конфигурация для .NET runtime, используется, когда требуется запустить ваше приложение. Как правило, вы не трогаете, не редактируете, не поддерживаете и даже не контролируете версию этого файла. Он создается автоматически при сборке вашего приложения.

Это никогда не бывает или / или ситуация: обычно вы используете оба. appsettings.json используется явно / вручную, в то время runtimeconfig.json как обычно используется под капотом и очень редко используется вручную.

Комментарии:

1. Это документы docs.microsoft.com/en-us/dotnet/core/run-time-config указывает, что runtimeconfig.json можно использовать для настройки поведения .NET- приложений во время выполнения. Более того, runtimeconfig.template.json может быть создан, и вся конфигурация будет помещена в runtimeconfig.json. Так что теоретически я могу забыть о appsettings.json и поместить все конфигурации в runtimeconfig.template.json. Почему существует такая возможность (я о runtimeconfig.template.json), если есть appsettings.json?

Ответ №2:

appsettings. файл json — это файл конфигурации приложения, используемый для хранения параметров конфигурации, таких как строки соединений с базой данных и т.д. По сути, это конфигурационный файл для настройки вашего приложения. Вы можете редактировать его вручную, когда требуются изменения.

Настройка времени выполнения. файл json автоматически генерируется в выходном каталоге при сборке приложения. По сути, это внутренняя конфигурация для среды выполнения .Net. Нет необходимости вносить какие-либо изменения или какие-либо изменения в этот файл вручную, поскольку он автоматически генерируется во время выполнения вашего приложения.