NLog Mail 目标在 Web 应用程序中使用时失败

NLog Mail target fails when used in a web application

我刚刚将我的 NancyFx Web 应用程序中的 NLog 升级到版本 4.3.2,现在应用程序在第一次尝试获取 Logger 实例时抛出错误。抛出的错误是:

exePath must be specified when not running inside a stand alone exe

我已将问题缩小到 NLog Mail 目标,该目标(根据其来源)正在尝试读取:

System.Configuration.ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None).GetSection("system.net/mailSettings/smtp") as SmtpSection

...尝试从应用程序的 web.config 文件中查找邮件设置。 OpenExeConfiguration 需要一个 app.exe.config 文件,该文件对于 Web 应用程序不存在。

所以,我的问题是如何告诉 NLog 在哪里可以找到 web.config 文件,或者更好的是,我怎样才能告诉 NLog 根本不用费心去查看 web.config 文件,因为我没有在那里存储任何邮件设置?

这是我在 nlog.config 中的目标 xml:

<target xsi:type="Mail"
        name="smtplog"
        layout="${longdate} ${logger} ${message}"
        useSystemNetMailSettings="false"
        to="test-to@test.com"
        from="test-from@test.com"
        smtpUserName="USERNAME"
        enableSsl="True"
        smtpPassword="PASSWORD"
        smtpAuthentication="Basic"
        smtpServer="smtp.sendgrid.net"
        smtpPort="587" />

如果我删除目标,则应用程序加载正常。

ps 这与我使用的早期版本的 NLog (v2.1.0)

配合得很好

这是 NLog 4.3.2 中的错误,已在 4.3.3 中修复