如何定义ConfigurationSection

时间:2010-02-25 10:59:38

标签: c# configurationsection

所以这对我来说是一个新的。

我正在尝试在我的类库中定义一个ConfigurationSection类,它来自我的WinForms应用程序中的App.Config。我之前从未这样做过,但是从以下示例开始,我就是这样做的。

我的WinForms应用程序中的

app.config

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="ReportEngineConfig" type="Optima.ReportEngine.ReportEngineConfig" allowDefinition="Everywhere" allowLocation="true"/>
  </configSections>

  <ReportEngineConfig>
    <ReportObjectVariableRegEx value="test" ></ReportObjectVariableRegEx>
  </ReportEngineConfig>
</configuration>

我的单独类库中的ConfigurationSection类。

使用System.Configuration;

namespace Optima.ReportEngine
{
    public class ReportEngineConfig : ConfigurationSection
    {
        [ConfigurationProperty("ReportObjectVariableRegEx")]
        public string ReportObjectVariableRegEx
        {
            get
            {
                return (string)this["value"];
            }
        }

    }
}

所以任何人都可以指出我出错的地方

谢谢!

1 个答案:

答案 0 :(得分:3)

您的类型标记需要引用程序集名称,而不仅仅是类型名称:

type="Optima.ReportEngine.ReportEngineConfig, Optima.ReportEngineAssembly"

逗号后面的部分是包含ReportEngineConfig的程序集的名称。您还必须确保使用此app.config的应用程序引用了包含ReportEngineConfig的同一程序集。

此外,您可以删除allowDefinition和allowLocation标记...您已将默认值设置为。