Предупреждения NLog о пользовательских целевых XSD-файлах

#c# #xml #logging #xsd #nlog

#c# #xml #ведение журнала #xsd #nlog

Вопрос:

Я создал пользовательскую цель для NLog, и она работает нормально, но когда я редактирую файл nlog.config, я получаю предупреждение о том, что This is an invalid xsi:type 'http://www.nlog-project.org/schemas/NLog.xsd:LogMillMessageBus'

Это мой файл 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 так что я не получу предупреждение?

Комментарии:

1. Получаете ли вы это предупреждение из visual Studio?

2. @BrandonAGr ссылка на ваш код не работает, у меня возникли проблемы с созданием пользовательского, не могли бы вы, пожалуйста, предоставить несколько примеров кода.

3.@jaminator github.com/NLog/NLog/wiki/How-to-write-a-target web.archive.org/web/20130129070949/http://nlog-project.org/wiki/…

Ответ №1:

Самый простой способ — установить этот пакет https://nuget.org/packages/NLog .Схема /2.0.1.2

Трудный способ (мой первый способ) — получить этот отсутствующий xsd и сообщить visual Studio использовать его.

Вы можете получить xsd-файл с этой страницыhttp://nlog.codeplex.com/releases/view/32639. Я скачал версию NLog2.netfx40.zip распаковал его и скопировал NLog.netfx40.xsd в корень моего проекта. Чтобы указать Vusual Studio использовать это, вы должны открыть меню «XML-> Схемы …» (меню XML появляется между командой и ИНСТРУМЕНТАМИ, если вы открываете XML-файл для редактирования) и добавить xsd-файл. Теперь в моем случае последней проблемой были неправильные xmlns. Поэтому я изменил его в своей конфигурации с http://www.nlog-project.org/schemas/NLog.xsd на http://www.nlog-project.org/schemas/NLog.netfx40.xsd .