自定义ConfigurationSection中的String-ConfigurationProperty

时间:2017-01-16 10:58:40

标签: c# app-config configurationsection

我的解决方案中有一个我的libs中有以下ConfigurationSection(让我们说LibA.dll):

public class MyConfigurationSection : ConfigurationSection
{
    [ConfigurationProperty("proxy", DefaultValue = "", IsRequired = false)]
    public string HttpProxy
    {
        get { return (string) this["proxy"]; }
        set { this["proxy"] = value; }
    }
}

在我的可执行文件的App.config我使用Section

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="liba"
             type="LibA.MyConfigurationSection, LibA, Version=1.0.0.0, Culture=neutral"></section>
  </configSections>
  <liba>
    <proxy>abc</proxy>
  </liba>
</configuration>

首先,visual studio告诉我它无法找到任何架构。 其次,以下行抛出异常:

MyConfigurationSection myConfiguration = (MyConfigurationSection) ConfigurationManager.GetSection("liba");
  

proxy-Property不是ConfigurationElement。

我不能在Configuration部分使用类型字符串吗?我真的需要创建自定义ConfigurationElement吗?

1 个答案:

答案 0 :(得分:1)

根据您的代码,'proxy'是'liba'元素的属性。 xml应采用以下格式

<liba proxy="abc"></liba>