C# 找不到构造函数类型

C# 找不到构造函数类型,c#,enterprise-library,C#,Enterprise Library,我在做什么: 我正在学习MicrosoftEnterpriseLibrary4.1,并尝试使用一些派生类对其进行扩展 我已经创建了一个MyLogEntry、MyFormatter和MyTraceListener,当您从它们的名称中删除“My”时,它们从各自的基类派生而来 我的问题是: 一切都很好。当我使用Logger.Write(logEntry)运行测试时,它会在初始化MyTraceListener后立即出错,并显示错误消息: 当前生成操作(…EnterpriseLibrary.Logging

我在做什么: 我正在学习MicrosoftEnterpriseLibrary4.1,并尝试使用一些派生类对其进行扩展

我已经创建了一个MyLogEntryMyFormatterMyTraceListener,当您从它们的名称中删除“My”时,它们从各自的基类派生而来

我的问题是: 一切都很好。当我使用Logger.Write(logEntry)运行测试时,它会在初始化MyTraceListener后立即出错,并显示错误消息:

当前生成操作(…EnterpriseLibrary.Logging.LogWriter,null)失败:找不到类型“MyLogging.MyFormatter”的构造函数。(策略类型ConfiguredObjectStrategy,索引2)

我认为这与构造函数有关,所以我尝试删除它,添加它,并添加对基类LogFormatter的调用。没有任何效果

有人知道这个问题吗?可能是参考问题吗?App.config配置不正确


提前感谢您

我猜您没有提供正确的构造函数。为了注入自定义格式化程序,您需要提供类似于以下内容的构造函数

public MyFormatter(NameValueCollection collection){

 }

有关更多信息,请参见此

谢谢,尼克斯,这正是问题所在。