Предупреждения NLog Custom Target XSD - PullRequest
4 голосов
/ 26 апреля 2011

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

Это мой nlog.config file:

<?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 Ответ

6 голосов
/ 29 июня 2013

Простой способ установить этот пакет 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-> Схемы ...» (меню XML появляется между TEAM и TOOLS, если вы открываете файл XML для редактирования) и добавить файл xsd. Теперь в моем случае последней проблемой был неправильный xmlns. Поэтому я изменил его в моей конфигурации с http://www.nlog-project.org/schemas/NLog.xsd на http://www.nlog-project.org/schemas/NLog.netfx40.xsd.

...