我们正试图从Roslyn的CTP迁移到最新的Roslyn版本。但似乎他们更新了DocumentationProvider
逻辑。在CTP中,它使用了此提供程序返回的DocumentationComment
类。此类为这些属性的xml解析提供了有用的逻辑
public string FullXmlFragmentOpt { get; private set; }
public string ExampleTextOpt { get; private set; }
public string SummaryTextOpt { get; private set; }
public string ReturnsTextOpt { get; private set; }
在新版本的Roslyn DocumentationComment
中,使用新属性改进了类,但不知何故,它被标记为internal
。现在DocumentationProvider
只返回带有XML内容的完整字符串。由于DocumentationComment
是一个内部类 - 我们无法使用它。
Roslyn团队有没有理由这样做?或者他们可能会在下一个版本中将其退回?
答案 0 :(得分:4)
DocumentationComment类被移出编译器层并被内部化,因为它被确定为不足以描述文档注释中的所有细节,因为它包含其他片段,如see和cref,并且实际上可以包含任何其他你希望的xml标签。作为公共API的一部分有意义的唯一结构是一个xml字符串,您可以使用xml读取器或DOM来分开它。就像现在一样,DocumentationComment类是单个Roslyn特性的实现细节。
由于它是开源的,因此您可以通过复制代码来使用它。实际的内部类可能会发生变化,甚至可以删除