Понимание файлов конфигурации в многопроектных (совместимых) решениях.net.СЕТЕВЫЕ решения

#c# #.net #visual-studio #projects-and-solutions

#c# #.net #visual-studio #проекты и решения

Вопрос:

Сценарий

Рассмотрите возможность использования решений с 4 проектами в нем:

1) ProjectSql: это проект, для выходных данных компиляции которого установлено значение Library , и он отвечает за доступ к базе данных SQLServer и выполнение чего-либо. Конечная библиотека сможет предоставлять API для управления сохраняемостью для конечного приложения.

2) ProjectWCF: это проект, для выходных данных компиляции которого установлено значение Library , и он отвечает за определение сервисных контрактов, контрактов данных и реализаций служб, позволяющих моему приложению размещать службу.

3) ProjectMiscellaneous: это проект, для выходных данных компиляции которого установлено значение Library , и он отвечает за предоставление API для других целей.

4) ProjectApp: это проект, для выходных данных компиляции которого установлено значение Executable (Exe) , и он отвечает за создание бизнес-логики моего приложения. Предположим, что это простое консольное приложение. В этих проектах есть ссылки на все другие.

Предположение: Учтите, что у каждого проекта есть свой собственный файл конфигурации. ProjectSql, например, определяет строки подключения для подключения к базе данных и так далее…

Проблема: конфигурация

Что ж, моя проблема заключается в следующем: учтите, что мой прикладной проект ProjectApp использует ProjectSql, ну, каждый вызов операции в ProjectSql должен подключаться к базе данных, в этих вызовах ссылка на файл конфигурации ProjectSql используется для получения строк подключения (простой вызов System.Configuration.ConfigurationManager.... ).

Я думаю, что если мое ProjectApp со своим собственным файлом конфигурации вызовет операцию в ProjectSql, то эта операция будет ссылаться на свой собственный файл конфигурации.

Мой вопрос:

То, что я сказал, это правда???

Соблюдают ли файлы конфигурации иерархию проекта.

Ответ №1:

Система.Конфигурация.ConfigurationManager может указать, какой конфигурационный файл читать. Любое данное приложение обычно будет иметь одну конфигурацию, такую как appname.exe.config или web.config.

Итак, ответ на ваш вопрос — НЕТ.

Когда вы вызываете System.Конфигурация.ConfigurationManager для любой из библиотек классов считывается файл ProjectApp.exe.config.