Specifying Debug or Release Build

Topics: User Forum
Dec 23, 2009 at 8:24 PM
Edited Dec 23, 2009 at 11:44 PM

I am just getting up to speed with SHFB. I imported my NDoc project successfully, then deleted all the DLL and XML files in Documentation Sources and replaced them with project files (*.csproj). All of these projects are set to create a Release build. I did not see where to set this in the GUI so I examined the shfbproj file and the <Configuration> element was set to Debug. I changed that to Release, restarted SHFB, loaded the doc project and attempted to build. The build failed with "Error BE0040: Project assembly does not exist" and the path indicated it was still looking on the Debug path rather than the Release path. What is the correct way to have it traverse the Release path?

ONE HOUR LATER... This is one of those "duh!" moments, of course... I was focusing so intently on the project properties that I missed the dropdown at the top for Release or Debug. That took care of my issue :-)

Coordinator
Dec 24, 2009 at 5:40 AM

If you always want a particular configuration or platform, you can also define which one to use in the properties for a selected documentation source.  These will always override the values selected on the toolbar.

Eric

 

Dec 24, 2009 at 5:39 PM

Thanks for pointing out that individual sources can be tailored to a configuration, Eric. That adds to the techniques to specify a configuration:

  • Toolbar (sets for all documentation sources).
  • Command line "msbuild -p:Configuration=nnnn" (sets for all documentation sources; defaults to Debug if not specified).
  • Selected documentation source property (overrides global toolbar setting). Does this also override the global command line setting?
  • Configuration file XPath=//Project/PropertyGroup/Configuration. This seems to be completely ignored--is it used at all?

Thanks,

~~Michael

Coordinator
Dec 24, 2009 at 7:29 PM

The documentation source properties will override both the toolbar settings and command line settings.  The entries in the SHFB project file are conditional and will only take effect if Configuration and Platform are undefined and the project is built from the command line.  Within the GUI, it always sets the values in the project based on the toolbar settings for the defaults.

Eric