这与自定义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"