#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.