【问题标题】:Load parts of App.Config from another file从另一个文件加载 App.Config 的一部分
【发布时间】:2018-04-20 19:37:00
【问题描述】:

我喜欢将我的app.config 拆分为用户特定部分和应用程序特定部分。是否可以将app.config 的一部分存储在另一个文件中?

我已经试过了:

<!DOCTYPE cruisecontrol [<!ENTITY email SYSTEM "email.config">]  >

但这不会加载。

在不改变应用程序本身的情况下还有其他可能吗?

【问题讨论】:

    标签: c# configuration app-config


    【解决方案1】:

    您可以使用configSource 属性告诉框架从另一个文件加载特定部分。

    例如,如果您有一个包含如下部分的配置文件:

    <connectionStrings>
        <add name="MyDatabase" connectionString="...etc..." />
    </connectionStrings>
    

    您可以将其替换为:

      <connectionStrings configSource="ConnectionStrings.config" />
    

    ...并使用原始部分的内容(包括 &lt;connectionStrings&gt; 节点 - 与我上面的第一个代码部分完全相同)创建一个文件 ConnectionStrings.config

    【讨论】:

    • 这太棒了!我一直在寻找一种方法来做到这一点,而且它一直就在我面前。
    • 问题在于,这似乎只包含连接字符串,但当您尝试包含其他文件中的配置部分时无济于事。
    • @Kjellski 我可以向你保证configSource 适用于所有元素。建议您阅读它的工作原理:weblogs.asp.net/fmarguerie/archive/2007/04/26/…
    • @JonGrant 你说的很对,但最需要注意的是,你需要&lt;configSections&gt;&lt;section name="foo" type=".."&gt; 部分,然后,可以替换&lt;foo&gt;...&lt;/foo&gt; 部分与&lt;foo configSource="foo.config"&gt;。但是您不能将该属性放在[web|app].config&lt;configSections&gt; 部分中。
    猜你喜欢
    • 2016-07-09
    • 2023-03-13
    • 2013-04-09
    • 2022-01-06
    • 2011-10-30
    • 2011-08-19
    • 2015-10-28
    • 2020-11-08
    • 1970-01-01
    相关资源
    最近更新 更多