2017-07-25 128 views
5

我目前正在开发一个应用程序,它需要我不能控制的外部DLL。我想为这些类添加文档,以便其他人可以理解为什么我要对这些外部DLL文件进行某些调用。用sandcastle记录外部DLL

将外部DLL文件添加到文档源确实会记录这些类,但所有摘要和其他信息都不可用。是否有可能记录这些文件(最好不需要反编译/重新创建程序集为一个项目),所以我可以用sandcastle生成相关的HTML文档?

我试着保持沙堡工作目录启用,看看.xml文件(我看到从我的其他项目复制过来)是以某种方式生成并放置在此目录中。这似乎并非如此,没有生成文件,并直接生成html文件。

+0

这可能有所帮助:https://ewsoftware.github.io/SHFB/html/f5b58289-dd25-45b6-b616-5b8af6ba3739.htm#CreateComments – IronGeek

+0

你是如何使用dll的?难道你不能创建一个包装的DLL?这样你就可以选择可能与应用程序更相关的函数名称,也可以将自己的函数和对包装器实现中dll的调用注释掉。您还可以获得将dll更换为其他内容的好处。 – David

回答

4

据我了解到,您对外部DLL使用情况下创建文件的问题,我看到两种可能的方式,你可以去:

  • 添加“失踪”笔记外部DLL的所有项目,你可能想要记录或/和
  • 将概念性主题添加到您自己的程序文档中。

我的样品溶液WindowsApplication2项目具有形式使用简单PDUNZDLL添加两个值。 Sandcastle帮助文件构建器项目“Documentation1”已添加,并且两个文档源(在此阶段没有XML注释文件,请参见下面的第一张快照)。你知道 - 没有XML注释文件的DLL会导致红色缺失摘要。

Snapshot of project and reproduced problem.

建议的解决方案(1):

  1. 创建像一个.xml扩展例如在组装后下面并将其命名为一个空白XML注释文件PDUNZDLL.xml

    <?xml version="1.0"?> 
    <doc> 
        <assembly> 
        <name>PDUNZDLL</name> 
        </assembly> 
        <members> 
        </members> 
    </doc> 
    
  2. 将该文件保存到比如Debug文件夹D:\Visual-Studio-2015\Projects\WindowsApplication2\WindowsApplication2\bin\Debug

  3. 双击“项目属性”(请参阅​​下面第二个快照)
  4. 在组件配置对话框中,添加了“智能感知组件“添加到项目中。
  5. 选择“Missing Tags”并设置项目的Show Missing Tags属性以满足您的喜好。这将强制构建为您可能想要记录的所有项目添加“缺失”注释。
  6. 构建项目,您会在项目的输出文件夹中找到以该程序集命名的新XML注释文件,例如D:\Visual-Studio-2015\Projects\WindowsApplication2\Documentation1\Help
  7. 编辑XML注释文件中的​​元素以添加所需的每个成员的注释,如第二个快照中所示。

完成后,请替换原始的占位符文件,例如D:\Visual-Studio-2015\Projects\WindowsApplication2\WindowsApplication2\bin\Debug\PDUNZDLL.xml与您编辑的评论生成的一个。重建您的文档项目。

这当然很耗时,因为任何帮助编写应用程序的帮助。它实际上是DLL开发人员的任务。

enter image description here

建议的解决方案(2):

你行” ......之间的阅读,让其他人能够理解为什么我在做某些呼叫我正在对这些外部DLL文件“。让我建议在自己的程序中添加补充文档。

所以,我的意思是添加概念性主题,描述如何调用外部DLL文件的功能。

我删除了在“文档源”的DLL, 增加了一个新的文件夹“ExternalDLL”, 增加了一个新的项目概念和演练, 双击在解决方案资源管理ContentLayout.content, 并没有为内容的所有步骤布局,重建文档项目,生成一个帮助文件,如下面第三张快照所示(另请参阅背景信息)。

![enter image description here

快乐帮助创作!