You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修复已弃用的NuGet包NLog.Config及编译失败问题

解决NLog.Config弃用及编译失败问题

1. 直接删除NLog.Config是否安全?

不行。NLog.Config被标记为弃用,是因为它的配置功能已经整合到NLog核心包中,而非整个NLog框架被弃用。你代码里还在使用NLog的日志功能,直接删除会导致项目丢失NLog核心组件引用,引发编译错误。

2. 分步解决方案

替换NuGet包

  • 卸载已弃用的NLog.Config包
  • 安装最新稳定版的NLog核心NuGet包(这个包包含了原NLog.Config的所有配置能力)

迁移NLog配置

如果之前依赖NLog.Config自带的默认配置,需要手动添加配置文件:

  1. 在项目根目录新建XML文件,命名为NLog.config
  2. 加入基础配置(可根据你的日志需求调整):
<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <targets>
    <!-- 控制台输出 -->
    <target name="console" xsi:type="Console" />
    <!-- 文件日志输出 -->
    <target name="file" xsi:type="File" fileName="${basedir}/logs/${shortdate}.log" />
  </targets>
  <rules>
    <logger name="*" minlevel="Info" writeTo="console,file" />
  </rules>
</nlog>
  1. 在Visual Studio中选中该文件,设置复制到输出目录为「如果较新则复制」,确保程序运行时能读取到配置

代码无需修改

你现有代码中的NLog调用完全兼容最新版NLog核心包,不需要做任何改动:

Imports NLog
Private m_logger As NLog.Logger = LogManager.GetCurrentClassLogger()

以及这类日志调用:

m_logger.Error(ex, "RESULT_FAILED_OAUTH")

3. 额外提示

  • 如果项目原本有自定义的NLog配置,只需把原有配置内容迁移到新的NLog.config文件即可
  • 定期更新NLog包到最新稳定版,获取性能优化和安全修复

内容的提问来源于stack exchange,提问作者Andrew Truckle

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 22:25:17