【发布时间】:2017-07-05 13:56:08
【问题描述】:
我不断收到以下错误:
log4net:ERROR Could not create Appender [AsyncLog4NetAppender] of type [Log4Net.Async.ParallelForwardingAppender]. Reported error follows.
System.TypeLoadException: Could not load type [Log4Net.Async.ParallelForwardingAppender]. Tried assembly [log4net, Version=2.0.8.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a] and all loaded assemblies
at log4net.Util.SystemInfo.GetTypeFromString(Assembly relativeAssembly, String typeName, Boolean throwOnError, Boolean ignoreCase)
at log4net.Util.SystemInfo.GetTypeFromString(String typeName, Boolean throwOnError, Boolean ignoreCase)
at log4net.Repository.Hierarchy.XmlHierarchyConfigurator.ParseAppender(XmlElement appenderElement)
log4net:ERROR Appender named [AsyncLog4NetAppender] not found.
包配置
<package id="log4net" version="2.0.8" targetFramework="net451" />
<package id="Log4Net.Async" version="2.0.4" targetFramework="net451" />
网络配置
<dependentAssembly>
<assemblyIdentity name="log4net" publicKeyToken="669e0ddf0bb1aa2a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.0.8.0" newVersion="2.0.8.0"/>
</dependentAssembly>
当我删除 log4net.async nuget 包并再次添加它时,它可以工作。但过了一段时间我又遇到了这个错误。
【问题讨论】:
-
通过在代码中引用其中的类来添加对
Log4Net.Async程序集的显式引用。这将强制构建过程加载程序集(我怀疑它没有看到对它的引用并对其进行优化) -
你的意思是在我的一个类中添加命名空间?
-
我不确定这是否足够,因为编译器可能会优化它,因为它没有被使用。我似乎记得在类似的情况下,在程序集中添加一个类型的字段就可以了。
-
同意,添加命名空间引用不会有太大作用。向我们展示您的 appender 配置。
标签: c# asp.net asp.net-mvc log4net