Аутоматски поставити аппсеттингс.јсон за развојна и издања окружења у језгри асп.нет?

Automatically Set Appsettings



Решење:

Додао сам снимке екрана радног окружења, јер ме је коштало неколико сати истраживања и развоја.

  1. Прво додајте кључ у својлаунцх.јсон датотеку.



    Погледајте снимак екрана испод, додао сам Развој као моје окружење.



    Декларација променљиве окружења у лаунцх.јсон



  2. Затим у свом пројекту креирајте новиаппсеттингс. {енвиронмент} .јсон датотека која садржи назив окружења.

    На следећем снимку екрана потражите две различите датотеке са именима:

    • аппсеттингс.Девелопмент.Јсон
    • аппСеттинг.јсон


    Приказ пројекта ЈСОН датотека поставки апликација



  3. И на крају, конфигуришите га према свомСтартУп класа овако:

    јавно покретање (ИХостингЕнвиронмент енв) {вар буилдер = нев ЦонфигуратионБуилдер () .СетБасеПатх (енв.ЦонтентРоотПатх) .АддЈсонФиле ('аппсеттингс.јсон', опционално: фалсе, релоадОнЦханге: труе) .АддЈсонФиле ($ 'аппсеттингс. .јсон ', опционално: труе) .АддЕнвиронментВариаблес (); Конфигурација = буилдер.Буилд (); }
  4. И на крају, можете га покренути из командне линије овако:

    дотнет рун -окружење 'Развој'

    где 'Развој' је име мог окружења.


Ажурирање за .НЕТ Цоре 3.0+

  1. Можете користитиЦреатеДефаултБуилдер који ће аутоматски изградити и проследити конфигурацијски објекат вашој класи за покретање:

    ВебХост.ЦреатеДефаултБуилдер (аргс) .УсеСтартуп ();
    јавна класа Стартуп {публиц Стартуп (конфигурација ИЦонфигуратион) // аутоматски убризган {Цонфигуратион = цонфигуратион; } јавна конфигурација ИЦонфигуратион {гет; } / * ... * * /}
  2. ЦреатеДефаултБуилдер аутоматски укључује одговарајућеаппсеттингс. Животна средина .јсон датотеку, па додајте засебну датотеку поставки апликација за свако окружење:

    аппсеттингс.енв.јсон

  3. Затим поставитеАСПНЕТЦОРЕ_ЕНВИРОНМЕНТ променљива окружења при покретању / отклањању грешака

Како поставити променљиве окружења

У зависности од вашег ИДЕ -а, постоји неколико места на којима дотнет пројекти традиционално траже варијабле окружења:

  • За Визуелни студио идите на Пројецт> Пропертиес> Дебуг> Енвиронмент Вариаблес:

    Висуал Студио - Променљиве окружења

  • За Код Висуал Студио , Уредити.всцоде/лаунцх.јсон>енв:

    Visual Studio Code>Покрени окружење

  • Користећи Покрените Подешавања , УредитиПропертиес/лаунцхСеттингс.јсон>променљиве животне средине:

    Покрените Подешавања

    Које се такође могу изабрати са Тоолбар -а у Висуал Студио -у

    Покрените падајући мени Подешавања

  • Користећи дотнет ЦЛИ , користите одговарајућу синтаксу за постављање променљивих окружења за ваш ОС

    Белешка : Када се апликација покрене са дотнет покретањем,лаунцхСеттингс.јсон се чита ако је доступан, иенвиронментВариаблес поставке у лаунцхСеттингс.јсон надјачавају променљиве окружења.

Како сеХост.ЦреатеДефаултБуилдер ворк?

.НЕТ Цоре 3.0 је додатХост.ЦреатеДефаултБуилдер под екстензијама платформе које ће обезбедити подразумевану иницијализацијуИЦонфигуратион који пружа подразумевану конфигурацију за апликацију следећим редоследом:

  1. аппсеттингс.јсон користећи добављача конфигурације ЈСОН.
  2. аппсеттингс. Животна средина .јсон користећи добављача конфигурације ЈСОН. На пример:
    • аппсеттингс. Производња .јсон или
    • аппсеттингс. Развој .јсон
  3. Тајне апликација када се апликација покреће у развојном окружењу.
  4. Променљиве окружења помоћу добављача конфигурације променљивих окружења.
  5. Аргументи командне линије користећи добављача конфигурације командне линије.

Даље читање - МС Доцс

  • Покретање апликације у АСП.НЕТ Цоре
  • Конфигурација у АСП.НЕТ Цоре
  • Користите више окружења у АСП.НЕТ Цоре

У АСП.НЕТ Цоре -у радије користите променљиве окружења уместо конфигурације изградње за одговарајуће аппсеттингс.јсон

  1. Десним тастером миша кликните на ваш пројекат> Својства> Отклањање грешака> Варијабле окружења

    променљиве окружења

  2. АСП.НЕТ Цоре ће користити одговарајућу датотеку аппсеттингс.јсон:

    пример датотека поставки апликација у истраживачу решења

  3. Сада можете користити ову променљиву окружења овако:

    јавно покретање (ИХостингЕнвиронмент енв) {вар буилдер = нев ЦонфигуратионБуилдер () .СетБасеПатх (енв.ЦонтентРоотПатх) .АддЈсонФиле ('аппсеттингс.јсон', опционално: труе, релоадОнЦханге: труе) .АддЈсонФиле ($ 'аппсеттингс. .јсон ', опционално: труе) .АддЕнвиронментВариаблес (); Конфигурација = буилдер.Буилд (); }

Белешка : Ако користите @Дмитријев одговор, можете наићи на проблеме, нпр. када надјачавање вредности аппсеттингс.јсон на Азуре -у.