自定义 ConfigurationSection 中的 String-ConfigurationProperty

String-ConfigurationProperty within custom ConfigurationSection

我的解决方案中的一个库中有以下 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");

The proxy-Property is no ConfigurationElement.

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

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

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