对于项目中的每个类,SandCastle创建(以及其他)两个页面:
T_class_full_name
,带有描述,语法,继承层次结构和另请参阅AllMembers_T_class_full_name
,带有构造函数,方法,字段等.有没有办法将这两者合并在一起 - members page
附加到主页面?
我不久前开始使用Sandcastle为我们的一个项目生成一个文档网站.它工作得很好,但我们始终只在项目中编写类,方法,属性(...)的文档,并为整个项目和项目部件/模块/命名空间提供完全独立的文档.如果我可以将这些文档合并在一起并将相应的文档添加到生成的帮助文件中,那将是很好的,但我无法弄清楚如何做到这一点.
只是在命名空间声明中添加注释似乎不起作用(C#):
/// <summary>
/// My short namespace description
/// </summary>
namespace MyNamespace { ... }
Run Code Online (Sandbox Code Playgroud)
有谁知道如何做到这一点?我知道有可能以某种方式,这将是非常好的... :)
在Noda Time,我们使用Sandcastle和SHFB生成我们的文档.然后,我们将文档提交回源存储库 - 主要是因为这样可以轻松查看最新(和历史)文档.
我是该项目的主要开发人员,但我使用了两台计算机 - 不幸的是,他们正在构建不同的文档,即使它们都更新到同一个源.
这两台电脑在我能想到的每一个重要方面都是一样的:
为确保清洁构建而采取的步骤:
C:\Users\Jon\AppData\Local\EWSoftware\Sandcastle Help File Builder\Cache
)差异仍然存在.它们似乎仅限于从MSDN本身继承的文档Object.Finalize
.
版本1(在机器"Chubby"上生成):
<div class="summary">Allows an object to try to free resources and perform
other cleanup operations before it is reclaimed by garbage collection.</div>
Run Code Online (Sandbox Code Playgroud)
版本2(在机器"桑迪"上生成):
<div class="summary">Allows an <a
href="http://msdn2.microsoft.com/en-us/library/e5kfa45b" target="_blank">
Object</a> to attempt to free resources and perform other cleanup operations
before the <a href="http://msdn2.microsoft.com/en-us/library/e5kfa45b"
target="_blank">Object</a> is reclaimed …
Run Code Online (Sandbox Code Playgroud) Noda Time有一个问题,它所提供的XML文档文件也包含了所有内部和私有成员 - 这是一种耻辱.
幸运的是,Sandcastle帮助文件生成器有一个自定义构建组件 - IntelliSenseComponent
在理论上它做了正确的事情.不幸的是,我无法弄清楚如何正确配置它.
文档给出了这个例子:
<output includeNamespaces="false" namespacesFile="Namespaces"
folder="{@OutputFolder}" />
Run Code Online (Sandbox Code Playgroud)
和州:
上面给出的示例来自Sandcastle帮助文件构建器的配置文件.与其一起使用时,替换标记{@SHFBFolder}和{@OutputFolder}用于在文件路径中插入帮助文件构建器的文件夹和项目的输出文件夹.这些在构建时被替换为适当的值.如果在您自己的构建脚本中使用该组件,请分别将该标记替换为组件程序集和输出文件夹的相对路径或绝对路径.
好吧,我正在使用SHFB,所以我希望它可以工作.但是,除了绝对的工作之路,我无法获得任何其他东西.我试过了:
folder="."
folder="{@OutputFolder}"
folder="{@OutputFolder}XYZZY"
folder="{@OutputFolder}\XYZZY"
folder="{@OutputFolder}/XYZZY"
folder="{@OutputFolder}/XYZZY/"
Run Code Online (Sandbox Code Playgroud)
(我只是使用XYZZY作为易于搜索的东西.)
看一下源代码,我希望我可以使用环境变量,但这不起作用:
folder="%CD%\XYZZY"
Run Code Online (Sandbox Code Playgroud)
虽然这样做......
folder="%USERPROFILE%\XYZZY"
Run Code Online (Sandbox Code Playgroud)
这有效:
folder="c:\users\jon\test\xyzzy"
Run Code Online (Sandbox Code Playgroud)
...但我真的不想要一个绝对的路径名.
文档表明所有这一切都应该很简单......我错过了什么?
涉及的版本:
我正在寻找一个从我的VS2010 XML文档创建HTML /帮助文件的好工具.我找到了一些商业工具,比如
我相信还有更多,我只列出这两个例子.还有简单的XSLT样式表,可以将XML转换为HTML文档.
您在使用什么,例如是否有免费工具进行转换,可能是插件.只是为了澄清,基本上我找到了两种工具:
谢谢你的帮助.
Sandcastle/SHFB组合效果很好.感谢所有帮助过的人.
一些评论:
MsHelp2
我不得不安装VS 2008 SDK包含hscomp.exe
.有一个版本1.0和1.1,据我所知,版本1.0包含编译器.有关详细信息,请参阅Helixsoft和Social MSDN.c# xml sandcastle documentation-generation visual-studio-2010
基本上,何时真正需要(如果有的话)使用完全限定的xml参见参考:
<see cref="T:MyNamespace.Sub.MyType"/> //Option 1
<see cref="T:MyType"> //Option 2
Run Code Online (Sandbox Code Playgroud)
另外,引用.NET Framework对象怎么样?
<see cref="T:System.Collections.Generic.ICollection{T}"/> //Option 1
<see cref="T:ICollection{T}"/> //Option 2
Run Code Online (Sandbox Code Playgroud)
我知道完全符合条件的项目将始终允许Microsoft的Sandcastle正确地链接事物,但是一切都必须完全合格吗?
旁注:Microsoft Sandcastle是否能够链接到.NET Framework帮助文件,还是我通过引用浪费时间<see cref="T:System.Collections.Generic.ICollection{T}"/>
?
我有几个C#项目以及一些我试图一起记录的内部库组件.Sandcastle似乎是从C#生成文档的地方.我想知道DocProject或Sandcastle帮助文件生成器GUI中的哪一个更好,并支持我需要的功能.
我想只编译每个项目自己的文档部分,然后将它们全部集成到一起.(即一个文档项目中的库组件和它自己的文档项目中的每个项目,然后使用Help 2查看器在单个根目录中的所有上述内容)
通过Visual Studio中的构建步骤,我需要采取哪些步骤来自动构建HTML文档?我已经准备好所有注释并生成了comments.xml文件,并安装了Sandcastle.我只需要知道要在构建后步骤中添加什么以生成文档.
是否有一种标准方法,用于生成API文档的工具处理部分类的XML样式注释?基本上,应该如何评论部分类/方法,以便生成的帮助文档不被破坏?这个问题可能因使用的工具而异,在这种情况下,我想最重要的两个工具是:
我不希望我的XML文档出来时髦
/// <summary>Some Foo class</summary>
public partial class Foo { ... }
/// <summary>Some Foo class that implements some interface.</summary>
public partial class Foo : ISomeInterface { ... }
Run Code Online (Sandbox Code Playgroud)