xmldoc cref指向单独的csproj下的类

问题描述 投票:0回答: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"
}

这样我可以设置目录以将这些文档树放在单独的选项卡下。

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

我可以想象为什么会失败-DocFX仅为TestEngine生成元数据,因此它不了解SDK类或如何链接到它们。有没有一种方法可以更改配置,以便可以在最终网站中将这两个项目保持独立(在单独的目录下),但仍可以从TestEngine链接到SDK类?

xmldocument docfx
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.