如何定义配置节

发布于 2024-08-23 10:33:19 字数 1089 浏览 6 评论 0原文

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

我试图在我的类库中定义一个 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 类。

使用系统配置;

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

    }
}

所以任何人都可以指出我错在哪里

谢谢!

So this a new one for me.

I'm trying to define a ConfigurationSection class in my class library that pulls from App.Config in my WinForms app. I've never done this before but from following examples this is where I've got to.

app.config in my WinForms app

<?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>

And my ConfigurationSection class in my seperate class library.

using System.Configuration;

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

    }
}

So any chance anyone can point out where I've gone wrong

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

草莓酥 2024-08-30 10:33:19

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

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

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

您也可以摆脱allowDefinition和allowLocation标签...您已经放入了默认值。

Your type tag needs to reference the assembly name, not just the type name:

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

Where the section after the comma is the name of the assembly containing ReportEngineConfig. You'll also have to make sure the application that is using this app.config has referenced the same assembly containing ReportEngineConfig.

Also you can get rid of the allowDefinition and allowLocation tags... you've put the defaults in.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文