VSdocman can be called from a command line. However, you always need to configure your project settings in the IDE. Before trying VSdocman from the command line, test it from the IDE first.

To compile documentation from the command line, you need to call VSdocmanCmdLine.exe utility located in VSdocman installation folder.


VSdocmanCmdLine.exe [/?] [/vs 2013 | 2015]

                    [/devenvPath "DEVENV_EXE_PATH"]

                    [/operation compileProject | compileSolution | compileSolutionToSingle]

                    [/profile "PROFILE_NAME"]

                    [/outputPath "OUTPUT_PATH"]

                    [/retryOnCpuBusy RETRY_COUNT;INTERVAL]

                    [/solutionLoadedWait SECONDS]


Command Line Parameters




A full absolute path to the project file (.csproj, .vbproj, ...) if the operation is compileProject. Otherwise it is a full path to the solution file (.sln).


Version of Visual Studio which was used for editing specified project or solution. This version of VS must be installed. If this parameter is omitted, the latest installed version of VS will be used. This parameter is only valid for VS 2013 and 2015. For VS 2017 and newer, use the /devenvPath parameter.


The full path to the devenv.exe to be used internally. If this argument is specified, the /vs is ignored. This parameter must be used with VS 2017 and higher,because there may be multiple instances of the same VS version installed. Note that when VS 2017 was installed after any other possible VS version on the computer, and the /vs parameter is omitted, VS 2017 will not be used automatically. You need to specify the /devenvPath parameter.


Operation to perform. There are three choices:

compileProject - compiles a single project

compileSolution - compiles each project in a solution into separate documentation.

compileSolutionToSingle - compiles entire solution into a single documentation. The settings from the solution-wide common properties, that were selected in the IDE the last time the "Compile Solution to Single Documentation" was executed, will be applied.


Profile name used. If the operation is compileProject, it must be a project profile name. Otherwise it is a solution profile name. The name must be enclosed in double quotes. If this parameter is omitted, the "default" profile will be used.


The full path to the directory where the documentation will be generated. Specify this argument only if you want to generate the output to a location that is different from the output path saved in the profile (the project properties set in the GUI).


Specifies if the utility should retry when the operation fails due to a high CPU load. In very rare cases, it may happen that the utility exits with the error code 1 (Visual Studio was not found) with the additional exception info: COMException (0x80080005). This is usually caused by the current high CPU load. On the next execution everything works. This parameter specifies how many times and with what intervals in seconds should the utility retry automatically in such cases. The values are separated by a semicolon. If you encounter this problem, set the parameter to something like this:

/retryOnCpuBusy 3;60


The additional time in seconds, for which the utility will wait to make sure the solution/project is really loaded. This is needed only for SDK style projects (.NET Core projects and .NET Standard projects), where there is a confirmed issue in Visual Studio. A solution is loaded in the background and the code model needed by VSdocman is still null and there's no way to detect when it is ready. This was still not resolved in VS 2019 16.1.4 and will probably never be in VS 2017.


This problem shows itself in that the generated documentation is empty, only custom topics are generated but no code documentation is compiled. As a temporary workaround, you can instruct the utility to wait for several seconds after a solution is loaded and before the compilation starts. 3 to 10 seconds should be enough in most cases.


Show help.

Exit Codes






Visual Studio (version specified by /vs parameter) was not found.


Incorrect command line parameters.


Other error.