.NET 6 Web API配置NLog遇NLog.Extended兼容警告如何解决?
解决NLog.Extended兼容.NET 6的问题
你的核心问题是NLog配置里引用了已废弃的NLog.Extended组件,但实际上写入文本文件根本不需要这个包,按以下步骤处理即可:
- 卸载已安装的
NLog.Extended和NLog.MSMQ(如果没用到MSMQ消息队列功能的话) - 确保项目安装了最新版的
NLog和NLog.Web.AspNetCore(这两个包完全支持.NET 6,且包含了原NLog.Extended中ASP.NET相关的核心功能) - 打开你的NLog配置文件(通常是
nlog.config),查找并移除所有依赖NLog.Extended的配置项:- 比如原NLog.Extended里的
${aspnet-request}、${aspnet-session}这类渲染器,现在已经整合到NLog.Web.AspNetCore中,直接保留即可,不需要额外引用扩展包 - 如果配置里有MSMQ相关的目标(比如
MSMQTarget),而你又不需要这个功能,直接删掉该目标配置
- 比如原NLog.Extended里的
- 保存配置文件后重新构建运行项目,兼容警告和加载错误都会消失
内容的提问来源于stack exchange,提问作者Pawan Nogariya
相关产品推荐
相关产品推荐

