1

我们有一个包含测试引擎的 SDK 项目。它们生活在两个不同的 csproj 下。所以我们SDK.csprojTestEngine.csproj一个.SDK.csprojProjectReference

我有一个 DocFx 项目设置,分别为这两个构建元数据,docfx.json 元数据如下所示:

{
  "src": [
  {
    "src": "../../sdk",
    "files": ["csharp/SDK/**/*.cs"]
  }],
  "dest": "reference/SDK"
},
{
  "src": [
  {
    "src": "../../sdk",
    "files": ["csharp/TestEngine/**/*.cs"]
  }],
  "dest": "reference/TestEngine"
}

通过这种方式,我可以设置 TOC 以将这些文档树放在单独的选项卡下。

但是,我不能使用crefTestEnginexml 文档中引用来自SDK. 我从 DocFX 构建中收到这样的错误: Warning:[MetadataCommand.ExtractMetadata]Invalid cref value "!:SDK.SDKClass" found in triple-slash-comments for TestEngineClass, ignored.

我可以想象为什么这会失败 - DocFXTestEngine单独生成元数据,因此它不知道SDK类或如何链接到它们。有没有办法可以更改配置,以便我可以在最终网站中将这两个项目分开(在单独的 TOC 下)但仍然链接TestEngineSDK类?

4

1 回答 1

1

我意识到使用@和/或DocFx 文档xref中描述的标签确实可以正确解析生成的网页中的链接。所以这让我得到了很多我想要的东西。但是,它不是一个完整的解决方案,因为其他生成的引用无法解析为链接。例如,如果一个方法的参数类型为,则生成的文档不会为它出现在参数文档中的位置创建链接。所以我仍然想知道是否有其他解决方案。TestEngineSDK.SDKClassSDKClass

于 2020-05-21T23:47:42.440 回答