将app.config的appsettings部分拆分为两部分

时间:2014-06-20 21:06:43

标签: c# .net vb.net

我有一个Windows应用程序,它通过点击一次部署。我在app.config中的appsettings有几个设置。某些设置是特定于部署的,例如文件下载等的Web服务器源。它将随部署区域而变化。某些设置项是特定于应用程序的,在部署期间不会更改。

<appSettings >    
   <add key="key1" value="Value111 changable with region" />
   <add key="Key2" value="Value222 changable with region" />

    <add key="key3" value="Value333 NOT changable with region" />
   <add key="Key4" value="Value444 NOT changable with region" />

 </appSettings > 

现在我需要在两个app.config文件中拆分我的appsettings。 我想将key1和key2放在单独的配置文件中。我该怎么做。

1 个答案:

答案 0 :(得分:11)

使用appSettings file attribute并为每个部署区域指定其文件版本。

<强>的app.config

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings file="regionsettings.config">
      <add key="key1" value="default value" />
      <add key="commonKey" value="common value" />
  </appSettings>
</configuration>

regionsettings.config region 1 ):

<?xml version="1.0" encoding="utf-8" ?>
<appSettings>
    <add key="key1" value="region 1" />
</appSettings>

regionsettings.config region 2 ):

<?xml version="1.0" encoding="utf-8" ?>
<appSettings>
    <add key="key1" value="region 2" />
</appSettings>

或者像Henk建议的那样:

<add key="region1.key1" value="region1key1 value" />
<add key="region2.key1" value="region2key1 value" />