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

Mat*_*tin 5 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>
Run Code Online (Sandbox Code Playgroud)

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

我发现了这篇MSDN帖子,但最终它并没有证明有用.

Mat*_*tin 13

发现它 - 花了很长时间.

关键是这部分:

<add name="CustomListener"
            type="CustomListener, MyAssembly" 
            initializeData=""/>
Run Code Online (Sandbox Code Playgroud)

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

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