C# 有没有办法将app/web.config拆分为2个文件?

C# 有没有办法将app/web.config拆分为2个文件?,c#,.net,web-config,app-config,C#,.net,Web Config,App Config,我目前使用app/web.config来存储数据库的连接字符串,这意味着在升级时,我们不会接触配置文件来保留这些字符串。但是,我们现在想转到MVC5,这样做需要在app/web.config中更新所有库定义(我们有一个应用程序和一个具有类似配置的网站) 那么,是否可以将这些文件拆分为两个文件,以便在保持现有基础结构完整的同时更新库定义,从而从.config文件中读取连接字符串?或者有其他方法来处理这个问题吗?是的;您只需创建第二个文件,而不是将内容内联,例如: <configuration

我目前使用app/web.config来存储数据库的连接字符串,这意味着在升级时,我们不会接触配置文件来保留这些字符串。但是,我们现在想转到MVC5,这样做需要在app/web.config中更新所有库定义(我们有一个应用程序和一个具有类似配置的网站)


那么,是否可以将这些文件拆分为两个文件,以便在保持现有基础结构完整的同时更新库定义,从而从.config文件中读取连接字符串?或者有其他方法来处理这个问题吗?

是的;您只需创建第二个文件,而不是将内容内联,例如:

<configuration>
    <connectionStrings configSource="connections.config"/>
</configuration>


connections.config
文件将以
..

开头。或者,要拆分配置,您可以使用配置转换功能,该功能将根据所选的生成配置修改配置。在获取这些连接字符串方面,这将如何工作?目前,我有一个EF
DbContext
,其中我将连接字符串传递给构造函数
public MyDataContext():base(“name=DefaultConnection”)
。我会叫它
connections.config
还是叫
app.connections.config
Ahh。。抱歉,刚才点击了。。。因此,通过指定外部设置文件,C#将在读取初始配置文件时自动将其拉入。只要
configSource
是正确的,名称就无关紧要了?@Chris correct-设置框架在这里完成了所有的巫毒,所以你不需要做任何事情,除了a:创建一个新文件,b:告诉
configSource
该文件的名称。太棒了,看起来很完美,如果我想在
connections.config
中存储其他内容,即调用
user.config
我可以使用类似的机制将所有设置导入主设置吗?@Chris每个外部文件只有一个部分,但是:“可能”-试试看;P