Я пишу веб-приложение, которое состоит из 3 проектов. Веб-сайт ASP.net MVC5, служба Windows, которая выполняет задания, которые пользователи планируют использовать с помощью веб-сайта, а затем библиотека классов, на которую ссылаются два других проекта. У меня есть файл конфигурации JSON, на который ссылается библиотека классов. Он содержит данные о том, как должны выполняться задания. Я хочу включить его в свой источник контроля и хочу, чтобы это был JSON, чтобы мои коллеги, использующие приложение, могли легко изменить его без перекомпиляции решения. Только библиотека классов должна иметь доступ к файлу json - два других проекта ссылаются на библиотеку классов, поэтому они по существу ссылаются на настройки в файле json, получая доступ к классам в библиотеке классов.
Моя проблема в том, что я ссылаюсь на путь к файлу конфигурации json в классах библиотеки классов следующим образом: AppDomain.CurrentDomain.BaseDirectory + "config.json"
Однако, когда веб-сервер создает экземпляр класса из библиотеки классов, путь разрешает базовый каталог веб-сервера вместо библиотеки классов, что неудивительно.
Какой лучший способ сделать это? Могу ли я сохранить файл конфигурации надолго в проекте веб-приложения, а затем, возможно, иметь ссылку на файл конфигурации в проекте службы Windows? Не знаете, как это будет работать после развертывания решения?
Веб-проект - это стандарт .NET MVC 5. JSON гораздо предпочтительнее XML для типов конфигурационных файлов.