【问题标题】:Custom ConfigurationElementCollection Throw TargetInvocationException自定义 ConfigurationElementCollection 抛出 TargetInvocationException
【发布时间】:2021-01-17 22:03:31
【问题描述】:

我正在尝试使用ConfigurationElementCollection 制作自定义ConfigurationSection。 但是当我使用它时抛出一个ConfigurationErrorsException 有2个细节异常TargetInvocationExceptionMissingMethodException

我在构造函数中控制台一些消息,结果只是“新的 AssembySettingSection”。 在 AssembySettingSection base["settings"] 处抛出异常。

App.config

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <section name="AssembySetting" type="IngoWinService.AssembySettingSection, IngoWinService"/>
  </configSections>
  <AssembySetting>
    <settings>
      <add name="IngoWinService.Haier.Service" assemby="IngoWinService.Haier" />
    </settings>
  </AssembySetting>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" />
  </startup>
</configuration>

部分代码(需要时发布其他人)

public class AssembySettingSection : ConfigurationSection
{
    public AssembySettingSection()
    {
        System.Console.WriteLine("new AssembySettingSection");
    }
    [ConfigurationProperty("settings", IsDefaultCollection = false)]
    [ConfigurationCollection(typeof(AssembySettingCollection))]
    public ConfigurationElementCollection Settings
    {
        get
        {
            return base["settings"] as AssembySettingCollection;//Throw Exception
        }
    }

}

【问题讨论】:

    标签: c# .net-4.0 app-config


    【解决方案1】:

    抱歉,我在问题中使用了错误的元素类型。无论如何,为其他用户回答这个问题。

    问题已解决。

    public class AssembySettingSection : ConfigurationSection
    {
        public AssembySettingSection()
        {
            System.Console.WriteLine("new AssembySettingSection");
        }
        [ConfigurationProperty("settings", IsDefaultCollection = false)]
        [ConfigurationCollection(typeof(AssembySettingElement))]//Changed AssembySettingCollection to AssembySettingElement
        public AssembySettingCollection Settings
        {
            get
            {
                return base["settings"] as AssembySettingCollection;
            }
        }
    
    }
    

    【讨论】:

      猜你喜欢
      • 2014-08-17
      • 1970-01-01
      • 2014-10-08
      • 2016-01-06
      • 1970-01-01
      • 1970-01-01
      • 2011-11-10
      • 2022-12-23
      • 2014-09-12
      相关资源
      最近更新 更多