如何在C#父类/接口和子类之间同步XML注释

如何在C#父类/接口和子类之间同步XML注释,c#,.net,visual-studio,documentation,xml-documentation,C#,.net,Visual Studio,Documentation,Xml Documentation,在Java中,如果父类或接口上有一个Javadoc,那么当我将鼠标悬停在子类名上时,Javadoc会出现在大多数IDE中的子类或接口的上下文中。然而,在使用C#的XML注释的VisualStudio中,这似乎不是真的。有没有办法在父类和子类之间自动同步XML注释,这样我就不必复制/粘贴它们并手动同步它们?Visual Studio不提供这种现成的功能。无法使它们保持同步,也无法使派生类型继承XML文档 但是,如果您已经安装了,它将为您提供将XML注释从基类型复制到派生类型的选项 如果您正在创建一

在Java中,如果父类或接口上有一个Javadoc,那么当我将鼠标悬停在子类名上时,Javadoc会出现在大多数IDE中的子类或接口的上下文中。然而,在使用C#的XML注释的VisualStudio中,这似乎不是真的。有没有办法在父类和子类之间自动同步XML注释,这样我就不必复制/粘贴它们并手动同步它们?

Visual Studio不提供这种现成的功能。无法使它们保持同步,也无法使派生类型继承XML文档

但是,如果您已经安装了,它将为您提供将XML注释从基类型复制到派生类型的选项


如果您正在创建一个其他项目将使用的库,那么您可以使用Sandcastle帮助文件生成器(SHFB)标记提供一个很好的选项。虽然VisualStudio本机不理解此标记,但SHFB提供了一个用于读取项目生成的XML文档文件,并写出一个新的XML文档文件,其中所有
标记都由继承的文档替换。这正是我们用于在NuGet上发布openstack.net SDK的XML文档的过程:

  • 创建一个.nuspec文件(NuGet包规范),该文件代替C#编译器创建的文档


  • 在VisualStudio中,能够查看基类的文档也是有益的。我使用扩展从重写或实现方法跳转到基类或接口,在基类或接口中它被完全记录。

    我构建了一个工具来对XML文档文件进行后期处理,以添加对标记的支持

    虽然它在源代码中对Intellisense没有帮助,但它允许在NuGet包中包含修改过的XML文档文件,因此可以在引用的NuGet包中使用Intellisense


    请访问www.inheritdoc.io(提供免费版本)。

    “智能感知组件”?这是否适用于Visual Studio的快速版本?如果我在同一个解决方案中引用另一个项目中的库,而不是通过DLL,该怎么办?这不是一个真正的答案。。。完全首先,Resharper仅在函数没有文档开始时显示该选项。如果文档只是过时了,该选项甚至不会显示。第二,resharper无法对整个文件执行此操作。我不知道其他人,但我不认为这是一个“同步”,如果我必须进去,明确的意见,我需要的确切功能,并重新与RESHARPER每一次。与手工操作相比,这算不上什么优势。