Vb.net .net应用程序的app.config文件混淆

Vb.net .net应用程序的app.config文件混淆,vb.net,visual-studio-2008,Vb.net,Visual Studio 2008,我有一个包含4个项目的解决方案,其中所有项目都相互作用。每个项目都包含自己名为“app.config”的app.config文件,有时可能包含相同的appsettings字段。但是,由于某些原因,当从另一个project.method调用一个project.method时,当它初始化时,会从调用project方法调用app.config文件。这不应该是这样,因为我知道每个项目都是用自己的配置文件编译的 o = streamSettings.GetValue("ConnectionString"

我有一个包含4个项目的解决方案,其中所有项目都相互作用。每个项目都包含自己名为“app.config”的app.config文件,有时可能包含相同的appsettings字段。但是,由于某些原因,当从另一个project.method调用一个project.method时,当它初始化时,会从调用project方法调用app.config文件。这不应该是这样,因为我知道每个项目都是用自己的配置文件编译的

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

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

这对于所有项目都是一样的,但是我在这里得到了错误的连接字符串。

是偶然的项目DLL

.NET的配置系统将APP.config文件与进程关联,而不是与可执行映像关联

因此,假设您有一个带有ProjectA(EXE)和ProjectB(DLL)的解决方案

项目A引用项目B并调用项目B

在项目A中,对配置方法的调用将从项目A的App.config中提取

一旦项目A调用项目b,项目b中的代码也将引用项目A的配置文件,只是查看项目b中定义的部分

这很奇怪,也很不舒服,但这似乎是故意的

网上有一些文章是关于如何设置DLL,以便它从自己的配置文件中读取的

这里有一个来自SO的


默认情况下,配置文件就是这样工作的,那么我该如何区分配置文件还是将配置文件分开