файл app.config смешивается для приложения .net - PullRequest
0 голосов
/ 03 декабря 2010

У меня есть решение с 4 проектами, которые взаимодействуют друг с другом. Каждый проект содержит свой собственный файл app.config с именем app.config и может иногда содержать одни и те же поля appsettings. однако по какой-то причине при вызове одного project.method из другого при инициализации он вызывает файл app.config из вызывающего метода проекта. Этого не должно быть, поскольку я знаю, что каждый проект компилируется со своим собственным файлом конфигурации.

 o = streamSettings.GetValue("ConnectionString", GetType(String))
    connectionString = o.ToString()

    o = streamSettings.GetValue("LogFileDirectory", GetType(String))
    logFileDirectory = o.ToString()

Это то же самое для всех проектов, но я получаю неправильную строку подключения здесь.

1 Ответ

1 голос
/ 04 декабря 2010

Являются ли какие-либо библиотеки DLL проектов случайными.

. Конфигурационная система .NET ассоциирует файл APP.CONFIG с PROCESS, а не с исполняемым образом.с ProjectA (EXE) и проектом b (DLL).

Проект A ссылается на проект B и вызывает в проект B.

В проекте A вызовы методов конфигурации будут извлекаться из проекта AApp.config.

После вызова проекта A в проект b код в проекте B также в конечном итоге будет ссылаться на файл конфигурации проекта A, просто просматривая разделы, определенные в проекте B.

это странно и довольно странно, но это выглядит намеренно

В Интернете есть несколько статей о том, как настроить DLL так, чтобы она читала из своего СОБСТВЕННОГО файла конфигурации.

Вотодин из SO

C # DLL-файл конфигурации

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...