同一解决方案的其他项目中的自定义附加程序
Custom appender in other project of same solution
我有一个(工作中的)Appender,它位于同一解决方案的不同项目中。
我可以从该解决方案中的另一个项目访问该 Appender,但所有其他项目都无法在日志中显示错误:
log4net:ERROR Could not create Appender [AzureAppender] of type [my.Backend.AzureAppender].
Reported error follows. System.TypeLoadException: Could not load type [my.Backend.AzureAppender]. Tried assembly [log4net, Version=1.2.15.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a] and all loaded assemblies
存在对 my.Backend 的引用。
Appender内容如下:
<appender name="AzureAppender" type="my.Backend.AzureAppender">
<FileName>web.log</FileName>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%-5p %d %5rms [%t] %-22.22c{1} %-18.18M - %m%n" />
</layout>
</appender>
您必须将包含 my.Backend.AzureAppender 的 dll 部署到项目的 bin 文件夹中。我确定它不见了。原因是你的代码中没有直接引用这个 dll,所以它没有被复制到你的输出 bin 目录。
如果您的 dll 尚未加载,则您可能需要更改类型以包含 dll 的名称。
<appender name="AzureAppender" type="my.Backend.AzureAppender, mydllName">
这应该告诉 log4net 加载名为 mydllName.dll 的 dll,然后在其中查找名为 my.Backend.AzureAppender 的类型。
如果失败,您可以尝试为该类型添加完整的 AssemblyQualifiedName。
我有一个(工作中的)Appender,它位于同一解决方案的不同项目中。
我可以从该解决方案中的另一个项目访问该 Appender,但所有其他项目都无法在日志中显示错误:
log4net:ERROR Could not create Appender [AzureAppender] of type [my.Backend.AzureAppender].
Reported error follows. System.TypeLoadException: Could not load type [my.Backend.AzureAppender]. Tried assembly [log4net, Version=1.2.15.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a] and all loaded assemblies
存在对 my.Backend 的引用。
Appender内容如下:
<appender name="AzureAppender" type="my.Backend.AzureAppender">
<FileName>web.log</FileName>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%-5p %d %5rms [%t] %-22.22c{1} %-18.18M - %m%n" />
</layout>
</appender>
您必须将包含 my.Backend.AzureAppender 的 dll 部署到项目的 bin 文件夹中。我确定它不见了。原因是你的代码中没有直接引用这个 dll,所以它没有被复制到你的输出 bin 目录。
如果您的 dll 尚未加载,则您可能需要更改类型以包含 dll 的名称。
<appender name="AzureAppender" type="my.Backend.AzureAppender, mydllName">
这应该告诉 log4net 加载名为 mydllName.dll 的 dll,然后在其中查找名为 my.Backend.AzureAppender 的类型。
如果失败,您可以尝试为该类型添加完整的 AssemblyQualifiedName。