#asp.net #.net-framework-version #appsettings
#asp.net #.net-framework-version #настройки приложений
Вопрос:
У меня есть проект .NET Framework 4.7.2, который использует службу приложений Azure, используемую для вызовов API. Я хочу использовать разные appsettings.json для каждой среды, у меня есть несколько сред (производственная, предварительная подготовка и многое другое …)
Я видел эти документы: https://learn.microsoft.com/en-us/aspnet/core/fundamentals/environments?view=aspnetcore-3.1
Но я не нашел ничего подобного, что работает с .NET Framework.
Как я должен это сделать?
Комментарии:
1. Вы также можете использовать
Microsoft.Extensions.Configuration
в .NET Old. Все Microsoft. Расширения. * пакеты представляют собой пакеты .NET Standard 2.02. @PanagiotisKanavos но как OP передаст желаемую среду из консольного приложения .NET Framework? Помимо переменных среды
3. @CodeCaster Я не понимаю, что вы пытаетесь сделать. Конечно, можно использовать переменные среды. Был ли более глубокий момент, который вы пытаетесь сделать, и я просто его упускаю?
4. @PanagiotisKanavos, у вас есть пример того, как это сделать в . Net framework 472? Я не знаю, как получить существующую конфигурацию значков в качестве источника и привязать к ней файл appsettings.json.
Ответ №1:
Я не думаю, что существует простой / поддерживаемый способ получения функций переопределения имени файла настроек, которые NET core имеет для .Net Framework, потому что он не имеет или не использует переменные среды и проекты / исполняемые файлы одинаково.
Но есть библиотека под названием Slow Cheetah, которая, похоже, делает это, что позволяет автоматически преобразовывать ваш app.config (или любой файл) при нажатии F5 в Visual Studio
В итоге я использовал один App.config
файл с разными ключами — см. Ниже.
Отсюда вам просто нужно будет разработать свой собственный триггер для определения вашей среды разработки / разработки и т. Д. — Вероятно, на этапе сборки.
(В моем случае у меня было приложение ClickOnce, которое было либо опубликовано / prod, либо нет / dev — так что эта часть была простой)
<connectionStrings>
<add name="Dev"
connectionString="..." />
<add name="Prod"
connectionString="..." />
</connectionStrings>