ASP.NET Core 2.2 Как обмениваться файлами web.config / launchSettings.json между проектами - PullRequest
0 голосов
/ 26 сентября 2019

У меня есть такая структура решения:

  • AppOne.Account
  • AppOne.Admin
  • AppOne.System
  • AppOne.Data
  • AppOne.ClassLibrary

AppOne.Account, AppOne.Admin и AppOne.System являются ASP.NET Основными проектами приложений.Остальные библиотеки.

В настоящее время мне приходится вручную копировать и вставлять один и тот же файл web.config в каждый из них при развертывании и даже в разработке. Мне нужно скопировать и вставить файл launchSettings.json, поскольку он содержит переменные среды, которыеЯ нуждаюсь.

Можно ли сохранить файл web.config или launchSettings.json в папке, а затем сослаться на него в моем Startup.cs.

Я думаю о том, чтобы сохранить его в папке Solution и затем прочитать его. Однако я не уверен, возможно ли это, и я также не уверен, откуда его читать.

1 Ответ

0 голосов
/ 26 сентября 2019

Вы не "ссылаетесь" на web.config.Вы помещаете файл app / web.config в проект (или ярлык к одному файлу Config, который фактически находится в другой папке).

Затем в коде вы используете ConfigurationManager.AppSetting..., и он будет искать файл конфигурации в запущенном проекте.Это основано на контексте.

Если вы запускаете основной проект, он будет смотреть основной проект для конфигурации, если вы запускаете проект модульного теста, то он будет ожидать, что файл конфигурации (или ярлык) будет жить вкорень проекта модульного тестирования.

Изящное решение заключается в добавлении ярлыков конфигурационного файла в другие проекты, поэтому вы можете обновить только один файл:

enter image description here

...