首页 > 解决方案 > 如何在 docfx.console 下运行 DocFx 插件和后处理器?

问题描述

我已使用 docfx.console 成功地将 DocFx 与 Visual Studio 项目集成,如此此处所述。

在此设置下,项目的构建会触发 DocFx 处理在项目下找到的 docfx.json 和 markdown 文件。我不直接执行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是直接运行的,并且还有一个“模板”文件夹,例如:

  1. 构建我们的项目。
  2. 将输出的 dll 文件复制到:
    • 全局:DocFX.exe下名为Plugins的文件夹
    • 非全局:模板文件夹下名为 Plugins 的文件夹。然后使用参数 -t {template} 运行 DocFX 构建命令。

我尝试将我的类库 DLL 放在许多不同的文件夹中,并尝试修改 docfx.json 中的“模板”和“postProcessors”设置,但在每种情况下,构建都会失败并显示这样的消息(这是在抱怨 DocFx. Plugin.LastModified 后处理器,我尝试通过设置运行它:“postProcessors”:[“ExtractSearchIndex”,“LastModifiedPostProcessor”]):

警告:[BuildCommand] 无法导入:LastModifiedPostProcessor、System.Composition.Hosting.CompositionFailedException:找不到合同“IPostProcessor“LastModifiedPostProcessor”的导出。

有没有人有关于如何让它与 docfx.console 一起使用的说明?

标签: docfx

解决方案


推荐阅读