web.config覆盖了app.config ...为什么?

3 .net configuration app-config web-config configuration-files

我有两个DLL:一个带有web.config,另一个带有app.config

我将连接字符串从web.config移动到app.config,以便其他DLL可以使用它.

现在,当我调用时ConfigurationManager.GetSection("SomeSection"),应用程序会查找web.config,它应该在寻找app.config.因为web.config在一个单独的DLL中,所以它为什么这样做是没有意义的.

有人可以解释一下吗?

Dam*_*ver 7

永远不会使用DLL的app.config.

EXE的app.config重命名为<Application> .exe.config,并由EXE使用

web.config由网站/应用程序使用.

从本质上讲,如果Visual Studio有助于将一个app.config文件添加到DLL项目中,那么它所提供的就是复制并粘贴到相应的最终配置文件中 - 可以是EXE的app.config,也可以是web.config.网站/应用程序.

@vikps评论:暂时忽略网站子目录和configSource的问题,您不能在应用程序的配置中涉及多个配置文件.在这种情况下,子目录或configSource都不会帮助您.

使用configSource,应用程序可以指定应从备用配置文件中读取整个配置节.但是,如果整个配置部分存在于此另一个文件中,则只能执行此操作(例如,您不能在web.config中具有connectionStrings部分,并且还可以从其他源加载更多连接字符串)