2011-04-25 38 views
4

我创建了一个custom target for NLog,它工作正常,但是当我编辑nlog.config文件我得到一个警告,This is an invalid xsi:type 'http://www.nlog-project.org/schemas/NLog.xsd:LogMillMessageBus'NLOG定制目标XSD警告

这是我nlog.config文件:

<?xml version="1.0" ?> 
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 

    <extensions> 
     <add assembly="Core.v40.NLog.Extensions"/> 
    </extensions> 

    <targets async="true"> 
     <target name="LogMillMessageBus" xsi:type="LogMillMessageBus"/> 

     <target name="Console" xsi:type="ColoredConsole" layout="${date:format=HH\:mm\:ss.fff} ${message} ${exception:format=tostring}${event-context:item=Details}"/> 
    </targets> 

    <rules> 
     <logger name="*" minlevel="Trace" writeTo="Console" /> 
     <logger name="*" minlevel="Debug" writeTo="LogMillMessageBus" /> 
    </rules> 
</nlog> 

我可以以某种方式创建我自己的xsd,并追加http://nlog-project.org/schemas/NLog.xsd以便我不会收到警告吗?

+0

你是否从visual studio得到这个警告? – 2013-06-13 15:13:41

+0

@BrandonAGr您的代码链接被破坏,我有问题进行自定义,您可以请提供一些示例代码。 – PUG 2014-11-07 17:36:09

+1

@jaminator https://github.com/NLog/NLog/wiki/How-to-write-a-target https://web.archive.org/web/20130129070949/http://nlog-project.org/维基/ How_to_write_a_Target – BrandonAGr 2014-11-09 03:29:06

回答

4

简单的方法是安装该软件包https://nuget.org/packages/NLog.Schema/2.0.1.2

难的方法(我的第一种方法)是获取失踪XSD,并告诉Visual Studio中使用它。

您可以从此页获取xsd http://nlog.codeplex.com/releases/view/32639。我下载了版本NLog2.netfx40.zip,解压缩并将NLog.netfx40.xsd复制到我的项目的根目录中。要告诉Vusual Studio使用它,你应该打开菜单“XML-> Schemas ...”(如果你打开一个xml文件进行编辑,就会在TEAM和TOOLS之间出现XML菜单)并添加xsd文件。现在在我的情况下,最后一个问题是错误的xmlns。所以我在我的配置中将其从http://www.nlog-project.org/schemas/NLog.xsd更改为http://www.nlog-project.org/schemas/NLog.netfx40.xsd