我在做什么: 我正在使用Microsoft Enterprise Library 4.1并尝试使用一些派生类来扩展它。
我创建了一个 MyLogEntry , MyFormatter 和 MyTraceListener ,当您从他们的“我的”中移除“我的”时,它们派生自各自的基类名。
我的问题是: 一切都很好。当我使用 Logger.Write(logEntry)运行测试时,它在初始化 MyTraceListener 后出现错误,并显示错误消息:
“当前构建操作(... EnterpriseLibrary.Logging.LogWriter,null])失败:未找到类型” MyLogging.MyFormatter “的构造函数。(策略类型ConfiguredObjectStrategy,index 2)
我认为它与构造函数有关,所以我尝试删除它,添加它,并添加对基类 LogFormatter 的调用。没有任何效果。
有没有人能够洞察这个问题?这可能是参考问题吗?错误的App.config配置?
提前谢谢
答案 0 :(得分:2)
我的猜测是你没有提供正确的构造函数。为了注入自定义格式化程序,您需要提供类似于下面的构造函数
public MyFormatter(NameValueCollection collection){
}
有关详细信息,请参阅此link