如何解决试图获取LogWriter类型的实例,键为“”时发生激活错误
|| 登录到eventviewer时出现此错误。我在事件查看器中搜寻异常,以及滚动平面文件。如果我删除了eventviewer部分,则滚动平面文件可以完美地工作,但是只有当我添加它时,它才会出现异常 {\“解决依赖关系失败,请输入= \\\“ Microsoft.Practices.EnterpriseLibrary.Logging.LogWriter \\\”,名称= \\\“(无)\\\”。\\ r \\ nException发生在:解决期间。\\ r \\ nException 是:InvalidOperationException-类型TraceListener不能为 建造。您必须配置容器以提供此功能 值。\\ r \\ n ------------------------------------------ ----- \\ r \\ n在 发生异常的时间,容器为:\\ r \\ n \\ r \\ n Microsoft.Practices.EnterpriseLibrary.Logging.LogWriterImpl,LogWriter.default (从Microsoft.Practices.EnterpriseLibrary.Logging.LogWriter映射, (无))\\ r \\ n解析构造函数的参数\\\“ structureHolder \\\\” Microsoft.Practices.EnterpriseLibrary.Logging.LogWriterImpl(Microsoft.Practices.EnterpriseLibrary.Logging.LogWriterStructureHolder structureHolder, Microsoft.Practices.EnterpriseLibrary.Logging.Instrumentation.ILoggingInstrumentationProvider instrumentationProvider, Microsoft.Practices.EnterpriseLibrary.Logging.ILoggingUpdateCoordinator updateCoordinator)\\ r \\ n解决 Microsoft.Practices.EnterpriseLibrary.Logging.LogWriterStructureHolder,LogWriterStructureHolder.default (来自 Microsoft.Practices.EnterpriseLibrary.Logging.LogWriterStructureHolder, (无))\\ r \\ n解析构造函数的参数\\\“ traceSources \\\\” Microsoft.Practices.EnterpriseLibrary.Logging.LogWriterStructureHolder(System.Collections.Generic.IEnumerable1[[Microsoft.Practices.EnterpriseLibrary.Logging.Filters.ILogFilter,Microsoft.Practices.EnterpriseLibrary.Logging,Version=5.0.414.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35]] filters,System.Collections.Generic.IEnumerable
1[[[System.String,mscorlib,
版本= 4.0.0.0,文化=中性,PublicKeyToken = b77a5c561934e089]]
traceSourceNames,
System.Collections.Generic.IEnumerable1[[Microsoft.Practices.EnterpriseLibrary.Logging.LogSource,PublicKeyToken=31bf3856ad364e35]] traceSources,Microsoft.Practices.EnterpriseLibrary.Logging.LogSource
allEventsTraceSource,Microsoft.Practices.EnterpriseLibrary.Logging.LogSource
notProcessedTraceSource,Microsoft.Practices.EnterpriseLibrary.Logging.LogSource
errorsTraceSource,System.String defaultCategory,System.Boolean
tracingEnabled,System.Boolean logWarningsWhenNoCategoriesMatch,System.Boolean revertImpersonation)\\r\\n Resolving
Microsoft.Practices.EnterpriseLibrary.Logging.LogSource,General\\r\\n
Resolving parameter \\\"traceListeners\\\" of constructor
Microsoft.Practices.EnterpriseLibrary.Logging.LogSource(System.String
name,System.Collections.Generic.IEnumerable
1[[System.Diagnostics.TraceListener,
系统,版本= 4.0.0.0,文化=中性,
PublicKeyToken = b77a5c561934e089]] traceListeners,
System.Diagnostics.SourceLevels级别,System.Boolean自动刷新,
Microsoft.Practices.EnterpriseLibrary.Logging.Instrumentation.ILoggingInstrumentationProvider
instrumentationProvider)\\ r \\ n解析
System.Diagnostics.TraceListener,事件日志跟踪侦听器\\ r \\ n \“}
解决方法
我有同样的问题,这是由于我的配置文件中的错误。我从我的categorySources部分中引用了跟踪侦听器,而该类在我的侦听器部分中不存在。我删除了类别和映射(无论如何我都没有使用它们),然后它起作用了。我猜您可以在配置控制台中验证您的配置文件,然后它将告诉您问题所在。
, 1-确保您引用了正确的DLL
Microsoft.Practices.EnterpriseLibrary.Logging
Microsoft.Practices.EnterpriseLibrary.Common
2-确保配置文件在正确的位置(在同一项目或引用项目中)
3-确保您的配置文件正确。使用企业库配置工具对其进行编辑,则所有内容都不应为红色。尝试扩展所有跟踪侦听器,类别等。最常见的错误是特殊类别之一指向不存在的侦听器。
, 我在ExceptionHanlder上也有类似的经历。在介绍了介绍性材料re:logging之后,我直接切换到使用Unity容器。
我基本上只是从帮助文件中复制示例,并简短地想知道为什么它不起作用并且在Type Resolution上出错。无法解决。
答案很简单。在切换到Unity容器之前,我只有“玩过”日志记录,但是我正在使用/复制的示例同时使用了Logging和Exception Handling注入。
由于我没有玩过游戏:在5.0中使用异常处理时,配置文件中没有此项,因此Unity无法解析的原因。
解决方案:花5秒钟的时间使用这些工具将ExceptionHandling块添加到配置文件中,我很乐意继续进行“播放”。
即使未命名/自定义,Unity也需要配置文件中每个已解析块的条目。这是非常明显的,但是如果您出于学习目的而使用示例代码,则很容易被忽略。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。