未找到log4net .netcore 3.1方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了未找到log4net .netcore 3.1方法相关的知识,希望对你有一定的参考价值。
背景:这是一个.netcore 3.1 Web API。它引用一个DLL,该DLL引用一个SDK来创建到第三方应用程序的连接。在DLL中创建服务器对象时,它将引发以下错误:
.net core app
- DLL containing legacy methods
- DLL instantiates an SDK server object throwing log4net error
我添加了Microsoft.Extensions.Logging.Log4Net.AspNetCore
nuget包,并尝试了logger的工厂方式:
public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ILoggerFactory loggerFactory)
loggerFactory.AddLog4Net();
我也尝试过:https://stackify.com/making-log4net-net-core-work/
我在解决方案中也有一个log4net.config
。关于如何解决该错误的任何建议?
如果您的依赖项依赖于具有旧公共密钥令牌的旧版本的log4net,但是您解析了新版本的log4net(因为您的项目直接引用了它,或者您的其他依赖项之一这样做了),则可以获取每当针对旧log4net编译的代码调用其方法之一时,程序集将在运行时加载程序集异常或缺少方法异常。
This is because the type names contain the public key token.
对此的一般解决方法是确保依赖性树中只有log4net的单个版本(或至少具有相同公共密钥令牌的所有版本)。
以上是关于未找到log4net .netcore 3.1方法的主要内容,如果未能解决你的问题,请参考以下文章
NetCore 3.1 项目搭建反射依赖注入,Swagger结合Jwt,sqlSugar+EfCore异常中间件+Log4Net+MongoDb,Redis+Docker,丰富的公共类库,代码示例 下