Как запустить плагины DocFx и постпроцессоры в docfx.console? - PullRequest
0 голосов
/ 04 февраля 2020

Я успешно интегрировал DocFx с проектом Visual Studio, используя docfx.console, как описано здесь и здесь .

При этой установке здание проект запускает DocFx для обработки файлов docfx. json и уценок, найденных в рамках проекта. Я не выполняю напрямую docfx.exe. Это работает как при сборке проекта вручную в Visual Studio, так и при сборке на сервере сборки.

Я использую шаблон DocFx по умолчанию (в моем проекте нет извлеченного шаблона) и docfx.console 2.48.1 (самое последнее на данный момент).

Сейчас я пытаюсь интегрировать пользовательский плагин и постпроцессор DocFx. Я взял два образца из Github ( RtfDocumentProcessor & DocFx.Plugin.LastModified ) и создал новую библиотеку классов. NET Framework 4.7.2, которая создает ОК.

Проблема в том, как изменить docfx. json, чтобы указать DocFx на использование плагина и постпроцессора. В приведенных выше статьях предполагается, что docfx.exe запускается напрямую, а также имеется папка «template», например:

  1. Создайте наш проект.
  2. Скопируйте вывод dll файлы в:
    • Global: папка с именем Plugins в DocFX.exe
    • Non-global: папка с именем Plugins в папке шаблона. Затем запустите команду сборки DocFX с параметром -t {template}.

Я попытался поместить библиотеку библиотеки классов во многие разные папки и попытался изменить шаблон Настройки "и" postProcessors "в docfx. json, но в каждом случае сборка завершается с таким сообщением (это жалоба на постпроцессор DocFx.Plugin.LastModified, который я попытался запустить, установив:" postProcessors ": ["ExtractSearchIndex", "LastModifiedPostProcessor"]):

Предупреждение: [BuildCommand] Невозможно импортировать: LastModifiedPostProcessor, System.Composition.Hosting.CompositionFailedException: не найден экспорт для контракта 'IPostProcessor' LastModifiedPostProcessor "'.

У кого-нибудь есть инструкции о том, как заставить это работать с docfx.console?

...