Можно ли заставить SLAB работать с Microsoft.Diagnostics.Tracing.EventSource?

Официальные заметки о выпуске говорят:

Улучшена совместимость с пакетом событий EventSource

  • Исходный код SLAB должен быть обновлен и перестроен для работы с пакетом событий NuSource (который поддерживает каналы, но не поддерживает выборку). Процесс сейчас довольно безболезненный.
    • Добавлены ссылки на пакет nuget EventSource во все проекты
    • Изменено System.Diagnostics.Tracing в Microsoft.Diagnostics.Tracing во всех исходных файлах
    • Определил константу EVENT_SOURCE_PACKAGE в проекте модульных тестов (чтобы отключить тесты, которые не могут работать с версией nuget).

Это немного загадочно. Что-то кажется задом наперед, потому что я вообще не вижу ссылок на Microsoft.Diagnostics.Tracing в загрузке Nuget.

Или это то, что вам нужно сделать, чтобы создать его (так сказать, "Добавить", "Изменить", "Определить вместо добавленного", "Изменено", "Определено")?

Хм, хорошо, этих инструкций (если они инструкции) недостаточно:

  • Есть три места, где Microsoft.Diagnostics.Tracing уже ссылается, так что дает двойные предупреждения
  • Есть несколько мест, где между Microsoft.Practices.EnterpriseLibrary.SemanticLogging.Etw.Configuration.EventSourceSettings (который является классом) и Microsoft.Diagnostics.Tracing.EventSourceSettings (который является перечислением).

3 ответа

Итак, я только что заставил SLAB работать с пакетами NuGet EventSource, следуя указанным выше инструкциям с SLAB 1.1.28 и последним NuGet EventSource из пространства имен Microsoft.Diagnostics.Tracing.EventSource.

По сути, вам нужно исправить неоднозначные ссылки между Microsoft.Practices.EnterpriseLibrary.SemanticLogging.Etw.Configuration.EventSourceSettings и Microsoft.Diagnostics.Tracing.EventSourceSettings, как указано выше.

Требуется ссылка Microsoft.Practices.EnterpriseLibrary.SemanticLogging.Etw.Configuration.EventSourceSettings.

Он работает, создает журналы простых файлов и записывает их в программу просмотра событий, а при использовании совместно с контроллером, таким как PerfView, создает файлы ETL для подробного анализа.

Далее я буду тестировать случай вне процесса.

Немного детективной работы и здравого смысла:

Дата последнего выпуска SLAB - 25 июля 2014 года, было загружено множество версий Microsoft.Diagnostics.Tracing.EventSourceв том числе тот, который предположительно невинно введен EventSourceSettings,

Если я устанавливаю и ссылаюсь на версию 1.0.26, инструкции работают.

Теперь просто нужно выяснить, чего нет в версии 1.1.28, и не скучаю ли я по ним.

Детективная работа @ Бенджола верна.

Многие пользователи хотели иметь возможность использовать каналы EventSource (которые входят в пакет EventSource NuGet) с SLAB, поэтому совместимость была улучшена, чтобы компиляция с пакетом EventSource во время выпуска была совершенно безболезненной.

Однако SLAB недавно не обновлялся, а пакет EventSource продолжает добавлять / изменять функции. Некоторые из них могут привести к серьезным изменениям в текущей реализации SLAB. Поскольку совместимость с последующими выпусками EventSource, возможно, не была проверена (я не уверен, что команда сделала с этим), могут быть потенциальные проблемы.

Другие вопросы по тегам