Откуда ConfigurationManager получает данные?

Проект С#.

У меня есть проект (я его не писал), и в этом проекте у меня есть файл конфигурации (app.config). На самом деле там нет ничего, кроме строк по умолчанию. И в этом проекте у меня есть файл cs со строкой:

string connectionString = ConfigurationManager.ConnectionStrings["DbConnect"].ConnectionString;

И все работает нормально! Как?! Насколько я знаю, ConfigurationManager берет данные из локального файла app.config. Я не понимаю, откуда ConfigurationManager берет эту строку подключения, потому что в app.config есть только строки по умолчанию. Есть ли места, где CM может его взять? Также я искал через Machine.config (на всякий случай), и не было ни одной строки, похожей на мою строку подключения.


person Adventurer    schedule 21.09.2017    source источник
comment
В app.config есть что-то под названием connectionStrings? Вы пытались найти DbConnect в app.config? Можете ли вы поделиться содержимым app.config здесь?   -  person Chetan Ranpariya    schedule 21.09.2017
comment
Есть ли другие .config файлы? строки соединений также могут храниться во внешних файлах конфигурации.   -  person Nkosi    schedule 21.09.2017
comment
@ChetanRanpariya, я просмотрел файл, ничего похожего на connectionStrings и DbConnect dropbox.com/s/7pxbfj8lvf76q4l/app.config?dl=0   -  person Adventurer    schedule 21.09.2017
comment
@Nkosi, в этом проекте нет других файлов конфигурации   -  person Adventurer    schedule 21.09.2017
comment
Является ли проект библиотекой классов? Если да, проверьте app.config других проектов.   -  person bruno.almeida    schedule 21.09.2017
comment
@ bruno.almeida, да, это dll. Выполняет ли ConfigurationManager поиск в файлах конфигурации других проектов?   -  person Adventurer    schedule 21.09.2017
comment
@Adventurer, да, он использует конфигурационный файл других проектов   -  person bruno.almeida    schedule 21.09.2017
comment
Есть ли в вашем решении проект веб-приложения, проект консольного приложения или проект формы Windows? ConfigurationManager считывает значения из файла конфигурации из приложения, которое является запускаемым проектом, использующим эту библиотеку классов.   -  person Chetan Ranpariya    schedule 21.09.2017
comment
@ЧетанРанпария. Да, в солюшене много проектов и один из них содержит эту библиотеку. Это проект asp.net mvc с файлом web.config. Тем не менее web.config не содержит информации, которую я ищу. Вот файл web.config dropbox.com/s/lqyilh228pml70u/Web .config?dl=0   -  person Adventurer    schedule 22.09.2017


Ответы (1)


Найдите "DbConnect"...

Также вам следует выполнить поиск файла appsettins.json.

https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration

person Juan    schedule 21.09.2017
comment
Сделал это. Ничего не было найдено. Можно ли импортировать файлы конфигурации из других проектов? У меня есть несколько пользовательских dll в моем проекте, и ConfigurationManager объединяет все файлы конфигурации в один и выполняет поиск по нему? - person Adventurer; 21.09.2017
comment
Попробуйте это, перейдите в выходную папку и найдите YourAssembly.exe.config, откройте его блокнотом и найдите строку подключения... - person Juan; 21.09.2017
comment
Пытался. Нет, не суммируется. - person Adventurer; 21.09.2017