Внешний NLog.config без предупреждений или сообщений Visual Studio в окне списка ошибок

Я использую NLog в качестве среды ведения журналов и пытаюсь выяснить, какие параметры являются «оптимальными» для внешнего файла конфигурации transformation (например, NLog.Debug.config).

На вики-странице проекта есть два варианта:

  1. Встроенный (например, внутри Web.config или App.config)
  2. Упрощенный XML во внешнем файле конфигурации с <nlog> в качестве корневого элемента

Вот пример конфигурации:

<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
      xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      autoReload="true">
  <targets async="true">
    <target name="Warn" xdt:Transform="Remove" xdt:Locator="Match(name)" />
  </targets>
  <rules>
    <logger writeTo="Warn" xdt:Transform="Remove" xdt:Locator="Match(writeTo)" />
  </rules>
</nlog>

Несмотря на множество пространств имен, Visual Studio 2015 отображает следующее предупреждение: The 'nlog' element is not declared.

Когда я помещаю часть nlog в элемент <configuration>, это предупреждение исчезает, но появляется множество «сообщений», указывающих, что такие элементы, как имя, цель, асинхронность и многое другое, неизвестны: Could not find schema information for the element 'target'.

Если я удалю суффикс nlog из определения пространства имен (xmlns:nlog="...), корневой элемент будет принят, но я увижу предупреждения для таких элементов, как target, xdt:Transform, xdt:Locator и т. д.:

The element 'http://www.nlog-project.org/schemas/NLog.xsd:target' is abstract or its type is abstract.
The 'autoreload' attribute is not declared.
The 'name' attribute is not declared.
...

Я уже пытался переместить пространства имен в разные элементы или присвоить каждому элементу или атрибуту соответствующий префикс, но ничего не помогло, чтобы все предупреждения или сообщения исчезли...

РЕДАКТИРОВАТЬ: Атрибуты по-прежнему отмечены предупреждениями, такими как: The 'http://schemas.microsoft.com/XML-Document-Transform:Locator' attribute is not declared.


person burgerS    schedule 23.11.2016    source источник


Ответы (1)


person    schedule
comment
Извините, забыл упомянуть, что я уже скопировал файл в тот же каталог. И дополнительно в VS под XML - Schemas схема помечена как используемая. Это не помогло :-( - person burgerS; 25.11.2016
comment
Обновлен файл xmlns. Работает на меня - person Julian; 26.11.2016
comment
Обновлен xmlns, установлен новейший пакет nuget NLog.Schema (4.3.11) в мой проект (мой NLog.xsd был заменен новым) - предупреждения для узлов, таких как «цель», и атрибутов, таких как «имя», «xdt: Transform', 'xdt:Locator' все еще там... :-( The element 'http://www.nlog-project.org/schemas/NLog.xsd:target' is abstract or its type is abstract. ‹br/› The 'name' attribute is not declared. - person burgerS; 29.11.2016
comment
извините, не для меня. Пожалуйста, посмотрите мой ответ выше. - person burgerS; 29.11.2016