我收到一个配置错误异常"Couldn't find constructor for class CustomListener"



这与自定义system . 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帖子,但最终证明它没有帮助。

找到了——花了好长时间。

关键是这部分:

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

当initiizationdata是一个空字符串时,它将查找没有参数的构造函数。一旦我添加了initializeData的值,框架就会找到构造函数。

错误提示应该是"No constructor with 0 parameter, maybe you need include some initializeData"

相关内容

  • 没有找到相关文章

最新更新