DocProject Components
DocProject consists of two major components:
Figure 1: DocProject Components
DocProject's Visual Studio Project Templates
To build help using DocProject you must add a new project to your Visual Studio solution that is based on one of DocProject's
Visual Studio Project Templates, which come in two flavors:
DocProjects and
DocSites.
Input
DocProjects and
DocSites build help for
project references and/or references to
external sources; e.g., individual assemblies, reflection files or entire folders. Dependency information is discovered automatically.
Custom conceptual topics written in
Microsoft Assistance Markup Language (MAML) and even raw HTML topics can be added to the project as well.
The Add-In provides a
Topic Explorer tool window that allows you to create and organize the table of contents (TOC), which consists of custom conceptual topics and the TOC that is automatically generated by Sandcastle for reference documentation.
Output
Using the
Sandcastle build engine, documentation for all referenced assemblies is built into a series of HTML topic files. Optionally, a
single compiled help file can be produced consisting of both conceptual and reference documentation. HTML Help 1.x (.chm) and Help 2.x (.HxS) are both supported and are generated by a single build, although both are optional.
DocProject can also produce an AJAX-enabled ASP.NET documentation web site called a
DocSite if you use a
DocSite Template.
Languages
Templates are available in
Visual Basic and
Visual C#, although
Visual J# is supported as well. The language that you choose for your
DocProject or
DocSite template does not affect which projects can be referenced. Any
DocProject or
DocSite, regardless of the chosen language, can be used to build compiled help for any
Visual C#,
Visual Basic,
Visual J# and
Managed Visual C++ library or executable project within the same solution.
Extensibility
Currently, Sandcastle is used exclusively to build HTML help but DocProject is extensible, with
plug-in support for other build engines as well. You can even customize the entire process using your favorite language (e.g.,
Visual C#,
Visual Basic or
Visual J#) with a
Build Process Component, which hooks into the
build process of your
DocProject or
DocSite.
The templates that are supplied with
DocProject come with a concrete
Build Process Component implementation, automatically registered with the containing project, that outputs the elapsed time for each build step and the entire help build process. You can customize the component by injecting your own build steps, for example.
See Also
DocProject's Visual Studio Add-In
The Add-In is available in
Visual Studio Standard edition and higher. It provides features to
DocProjects and
DocSites such as:
- the ability for users to cancel help builds.
- support for partial and skipped builds.
- the ability for users to choose build output to be included as project items after a help build completes.
- the Topic Management Dialog.
- the Topic Designer.
- various tool windows such as Topic Explorer, Topic Filters, Topic Editor and DocProject Properties.
- The DocProject tools options pages, which provide the ability to configure build engines and each individual DocProject and DocSite in the current solution.
Visual Studio Express Support
The Add-In is not available in express editions of Visual Studio; however, express users can use the
DocProject External UI (
DocProject.exe), which provides the same tools to configure and build their projects as Visual Studio Standard and higher.
See Also