Почему я не могу использовать мою DLL, на которую ссылается файл конфигурации - PullRequest
0 голосов
/ 01 февраля 2012

Я хотел бы задать этот вопрос, это безумие, что внутри dll-кода я не могу сослаться на файл dll.config, и он только скомпилирован в exe и скопирован в любой другой проект для решения.

Вы никогда не задумывались, когда создали, например, файл dll (DataAccess.dll), который вы хотели бы использовать для различных приложений с разными строками подключения SQL, но при создании решения он создает файл DataAccess.dll.config, но никогда не копируетэто в любое другое решение, которое имеет либо Winforms или службы Windows.Он просто остается там.

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

Мне кажется, что мне придется скопировать значения из файла конфигурации вручную в файл конфигурации exe для доступа к конфигурации.настройки в объектно-ориентированном диспетчере intellisense, за исключением того, что я должен использовать жестко запрограммированный открытый конфигурационный файл по пути и искать метательные элементы

В чем дело?Нет ответа на то, что мне кажется, что было бы гораздо проще, не говоря уже о реалистичности и замысле

1 Ответ

5 голосов
/ 01 февраля 2012

A dll не имеет ассоциированного файла конфигурации в .NET.

Почему? Поскольку dll не является самостоятельным - он выполняется в контексте исполняемого файла.

Конфигурация, которая будет прочитана, - это конфигурация, связанная с исполняемым файлом.

Вам необходимо изменить файл .exe.config для обновления значений конфигурации.

...