【问题标题】:Embedding Intellisense Xml Documentation in Assembly?在程序集中嵌入 Intellisense Xml 文档?
【发布时间】:2008-10-14 12:20:50
【问题描述】:

我有一个包含非常详尽的基于 XML 的文档的程序集,它通过 Sandcastle 用于生成产品的帮助文件。当程序员明显使用程序集时,我们还使用输出 XML 文件在 Visual Studio 中提供适当的 Intellisense。

为了做到这一点,我们似乎同时向用户提供程序集(“assembly.dll”)和文档(“assembly.xml”)。

是否有可能在程序集中嵌入文档,所以我们只需要提供单个程序集文件,Visual Studio 就可以提取信息?也许嵌入为资源或类似的东西?

【问题讨论】:

    标签: xml visual-studio documentation assemblies intellisense


    【解决方案1】:

    不幸的是,您需要同时提供这两者,因为 Visual Studio 只知道查看用于 Intellisense 的 XML 文档。

    【讨论】:

    • 很遗憾。等效文档嵌入到 COM 服务器 (DLL) 中。很难想象它会大大增加文件大小。
    【解决方案2】:

    如果您搜索 C:\Windows\Microsoft.NET\Framework\v2.0.50727,您会发现您可能在应用程序中引用的所有 .net 程序集都在使用 xml 文件。如果 xml 文件存在,Visual Studio 只会为程序集提供智能感知。例如,如果您要关闭 Visual Studio,然后删除 System.Drawing.xml 文件,然后重新打开 VS,则该程序集不应该有任何智能感知。然后,您需要关闭 VS,将其复制回来,然后重新打开 VS 以使智能感知再次工作。

    【讨论】:

    • 实际上,如果您删除 XML 文件,仍然有 一些 Intellisense。您将看不到任何“///” cmets,但仍会获得方法签名和重载。据推测,这是通过反射完成的。
    【解决方案3】:

    我错过了什么吗?我总是像往常一样评论(使用 3 个斜线或 3 个刻度线 (vb)),使用内置的 xml 标签,当我使用程序集时,我得到了智能感知——我很少使用外部 xml 文件。

    【讨论】:

    • 您是否获得了代码完成中的 Intellisense,或者您实际上获得了您编写的文档? IE。 VS 可以自动生成方法列表及其参数等,但除非我确保在主机上也可以使用文档,否则我不会得到文档。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-08
    • 2011-10-06
    • 1970-01-01
    • 2012-04-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多