Overriding properties on command line builds

Topics: Developer Forum
Nov 6, 2007 at 3:23 PM
Edited Nov 6, 2007 at 3:27 PM
After battling with creating my on Sandcastle scripts I discovered this application, it has literally saved me hours if not days of work. So a big thankyou to all involved in this project.

Anyway, all is good with the exception of one small item that I assumed would be the easiest part and has turned out to be the part I am failing on.

My SHFB project file contains the following two "placeholder" properties:

HelpTitle = Temporary Title
HtmlHelpName = TemporaryTitle

Through post build events in VS2005 I am calling the builder executable with the following command line:

SandcastleBuilderConsole.exe -v -HelpTitle="Custom Title Created In Post Build" -HtmlHelpName="Custom.Filename.Created.In.Post.Build" HelpProject.shfb"

The post build executes fine, and the help file is created however it outputs using the temporary values rather than the override values specificed on the command line.

I am sure this is down to a mistake on my part, however I just cannot see it at the moment, so a prod in the right direction may proove to be useful.

Just incase it is relevant, the actual command line format I am using is:
SandcastleBuilderConsole.exe -v -HelpTitle="Nexus Public Interface Specification - Revision 177 (Debug)" -HtmlHelpName="Nexus_3.0.0.0_PublicInterfaceSpecification_r177_Debug" "PublicInterface.shfb"
Nov 6, 2007 at 6:38 PM
Place the project name first:

SandcastleBuilderConsole.exe -v HelpProject.shfb -HelpTitle="Custom Title Created In Post Build" -HtmlHelpName="Custom.Filename.Created.In.Post.Build"

Properties on the command line override properties in the last seen project. If no project is specified, the options are applied to a default project. That way you can build without any project file.

Nov 7, 2007 at 10:20 AM
That worked perfectly, thanks very much for the reply and the excellent tool