具有不同项目和共享configSections的解决方案

时间:2015-06-18 09:33:04

标签: c# share configuration-files

我有三个项目的解决方案。

  • Project1(Windows应用程序)
  • Project2(Windows应用程序)
  • Project3(类库)

Project1和Project2有自己的app.config文件和appSettings。现在我想在Project3中添加一些appSettings。但我不想在app.config文件中编写新设置。我想为我的共享解决方案提供一个新的configfile /部分。 如何在Project3中创建自己的配置文件并从Project1和Project2引用?

2 个答案:

答案 0 :(得分:0)

你试过了吗?

<appSettings configSource="shared.config">
</appSettings>

然后在shared.config

<?xml version="1.0"?>
<appSettings>
  <add key="foo" value="bar" />
</appSettings>

答案 1 :(得分:0)

这是一个工作示例。它并不完美,但它正在发挥作用:

  1. 在Project3中创建share.config
  2. <?xml version="1.0" encoding="utf-8" ?>
    <shareConfig
      config1="value1">
    </shareConfig>
    
    1. 在Project3中创建ShareConfig.cs文件
    2. public class ShareConfig : ConfigurationSection
      {
          [ConfigurationProperty("config1", IsRequired = true)]
          public string Config1
          {
              get { return (string)base["config1"]; }
              set { base["config1"] = value; }
          }
      }
      
      1. 将配置文件添加为链接Project1和Project2

      2. 在app.config(Project1和Project2)中添加以下代码:

      3. <configSections>
               <section name="shareconfig" type="[classname],  [projectname], Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"/>
            </configSections>
            <shareconfig configSource="App.Share.config"/>
        
        1. 现在您可以使用新的配置部分:
        2. ShareConfig config = (ShareConfig )ConfigurationManager.GetSection("shareConfig ");