### Overview

The NDoc console application (NDocConsole.exe) exposes the full building capability of the GUI application and designed to be integrated into automated build process.

### Syntax

The console application uses a simple name-value-pair syntax for specifying options. Named options are prefixed with a dash in the following fashion: -name=value, with no white-space after the dash or around the equals sign. All parameters described below that are enclosed in square brackets are optional. Paths containing spaces need to be quoted.

#### Usage 1

     NDocConsole  assembly[,xmldoc] [assembly[,xmldoc]]...
                        [[-referencepath=dir] [-referencepath=dir]...]
                        [-namespacesummaries=filename]
                        [-documenter=documenter_name]
                        [[-property=value] [-property=value]...]
                        [-verbose]

where:

- assembly is the full path to an assembly to be documented
- xmldoc is the full path to the compiler generated /doc file

  if not specified, NDoc will look (in the same directory as assembly) for a file with the name of the assembly but with an extension of .xml instead of .dll or .exe

- referencepath is the full path to a directory where referenced assemblies can be located
- namespacesummaries is the full path to a namespace summary XML document
- documenter is the name of the documenter to use

  if not specified, the MSDN documenter will be used

- property is the case sensitive name of a property to set on documenter

- value is the value to set property to

- verbose causes full progress information to be displayed during the build

#### Usage 2

    NDocConsole -recurse=dir[,maxDepth]
    		[[-referencepath=dir]
    		[-referencepath=dir]...]
    		[-namespacesummaries=filename]
    		[-documenter=documenter_name]
    		[[-property=value] [-property=value]...]
    		[-verbose]

where:

- recurse will document all assemblies in the specified directory if they have a /doc XML file named with the name of the assembly but with an extension of .xml instead of .dll or .exe
- maxDepth is the maximum depth of sub-directories below dir to search
- referencepath is the full path to a directory where referenced assemblies can be located
- namespacesummaries is the full path to a namespace summary XML document
- documenter is the name of the documenter to use

  if not specified, the MSDN documenter will be used

- property is the case sensitive name of a property to set on documenter

- value is the value to set property to

- verbose causes full progress information to be displayed during the build

#### Usage 3

    NDocConsole [-documenter=documenter_name]
    	       -project=ndocfile
    	       [-verbose]

where:

- documenter is the name of the documenter to use

  if not specified, the MSDN documenter will be used

- project is the full path to an NDoc project file

- verbose causes full progress information to be displayed during the build

#### Usage 4

    NDocConsole [-help]
    	       [documenter_name [property_name]]

where:

- help displays help information

  if documenter_name is not specified, basic usage syntax will be displayed

- documenter_name displays help about a specific documenter

  if property_name is not specified a list of all the settable properties on documenter_name will be displayed

- property_name is the name of the property on documenter_name to display help about

### Available Documenters

The currently supported documenter names are: JavaDoc, LaTeX, LinearHtml, MSDN, VS.NET_2003, and XML.

### Namespace Summaries File Syntax

    <namespaces>
    	<namespace name="My.NameSpace">My summary.</namespace>
    	<namespace name="My.OtherNameSpace">My other summary.</namespace>
    	...
    </namespaces>