我收到一个ConfigurationErrorsException“无法找到类CustomListener的构造函数”

时间:2011-12-21 20:21:09

标签: system.diagnostics tracelistener

这与自定义Systems.Diagnostics.TraceListener

有关
<system.diagnostics>
    <sources>
        <source name="SomeTraceSourceName" 
            switchType="System.Diagnostics.SourceSwitch" 
            switchName="SomeSwitchName">
            <listeners>
                <clear />
                <add name="CustomListener"/>
            </listeners>
        </source>
    </sources>
    <sharedListeners>
        <add name="CustomListener"
            type="CustomListener, MyAssembly" 
            initializeData=""/>
    </sharedListeners>
    <switches>
        <add name="SomeSwitchName" value="4"  />
    </switches>
</system.diagnostics>

默认跟踪侦听器不会发生这种情况。

我发现了这个MSDN post,但最终证明它没有用。

1 个答案:

答案 0 :(得分:12)

找到它 - 花了很长时间。

关键是这部分:

<add name="CustomListener"
            type="CustomListener, MyAssembly" 
            initializeData=""/>

当intializationData为空字符串时,它将查找不带参数的构造函数。一旦我添加了initializeData的值,框架就会找到构造函数。

错误应该说“没有带0参数的构造函数,也许你需要包含一些initializeData”