#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
.