【问题标题】:String-ConfigurationProperty within custom ConfigurationSection自定义 ConfigurationSection 中的 String-ConfigurationProperty
【发布时间】:2017-01-18 00:44:51
【问题描述】:

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

代理属性不是 ConfigurationElement。

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

【问题讨论】:

  • 您已将代理声明为属性,因此 xml 应该是这样的
  • 哇,就这么简单。谢谢!将其发布为答案,以便我将其标记为正确的解决方案。

标签: c# app-config configurationsection


【解决方案1】:

根据您的代码,“代理”是“liba”元素的一个属性。 xml 应采用以下格式

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

【讨论】:

    猜你喜欢
    • 2013-01-22
    • 2013-01-22
    • 2010-12-18
    • 1970-01-01
    • 2011-05-08
    • 2013-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多