在 Visual Studio 2012 中以编程方式配置 NLog

Programatically configure NLog in Visual Studio 2012

我最近从互联网上下载 Nlog.dll 并将其添加到我正在用 C# 编写代码的项目的参考部分。但即使是现成的代码在我的简单控制台应用程序中也不起作用。一开始我将它写入我的简单控制台应用程序

正如您在这里看到的,甚至在其他面板上的一些 ondefined 方法也找到了 NLog 类。如何从代码配置 NLog?

using System.Linq;
using System.Text;
using System.Threading.Tasks;
using NLog;
using NLog.Config;

namespace ConsoleApplication1
{
    class Program
    {
        private static NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger();

        static void Main(string[] args)
        {
            var config = new NLog.Config.LoggingConfiguration();

            var logfile = new NLog.Targets.FileTarget("logfile") { FileName = "file.txt" };
            var logconsole = new NLog.Targets.ConsoleTarget("logconsole");

            config.AddRule(LogLevel.Info, LogLevel.Fatal, logconsole);
            config.AddRule(LogLevel.Debug, LogLevel.Fatal, logfile);

            NLog.LogManager.Configuration = config;
            var logger = NLog.LogManager.GetCurrentClassLogger();
            logger.Info("Hello World");

        }
    }
}

我收到此错误(俄语):

该代码对于 NuGet 上最新版本的 NLog 是正确的。您下载的 .dll 似乎是旧版本的 NLog。