我无法在WinForm应用程序中使用NLog MessageBox目标。配置文件指示xsi:type无效。当我运行程序时,出现此错误:
System.TypeInitializationException HResult = 0x80131534 Message ='Catalog.Form2'的类型初始值设定项引发了异常。 来源=目录 堆栈跟踪: 在L:\ SourceCode \ Catalog \ Catalog \ Form2.cs:第29行的Catalog.Form2..ctor()中 在L:\ SourceCode \ Catalog \ Catalog \ Program.cs:第16行的Catalog.Program.Main()中
内部异常1: NLogConfigurationException:解析L:\ SourceCode \ Catalog \ Catalog \ bin \ Debug \ NLog.config时发生异常。 内部例外2: ArgumentException:找不到目标:'MessageBox'
我的配置文件包含以下内容:
<targets>
<target name="errors" xsi:type="MessageBox" layout="${message}" />
</targets>
<rules>
<logger name="*" minlevel="Debug" writeTo="errors" />
</rules>
如果我将目标更改为“控制台”,则一切正常。为什么MessageBox不起作用?
NLog 4.5.11, NLog.Schema 4.5.11, .NET Framwork 4.7.2, VS 2017 Pro(15.9.7)
答案 0 :(得分:1)
对于MessageBox目标,您需要安装NLog.Windows.Forms NuGet package。
另请参阅:https://nlog-project.org/config/?tab=targets&search=messagebox