【问题标题】:NLog Mail target fails when used in a web applicationNLog Mail 目标在 Web 应用程序中使用时失败
【发布时间】:2016-04-29 14:18:59
【问题描述】:

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

不在独立exe中运行时必须指定exePath

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

System.Configuration.ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None).GetSection("system.net/mailSettings/smtp") 作为 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) 上工作得很好

【问题讨论】:

    标签: email web-config target nlog


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-11
      • 2018-09-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-14
      相关资源
      最近更新 更多