我刚刚将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)
工作得很好答案 0 :(得分:0)
这是NLog 4.3.2中的一个错误,已在4.3.3中修复