Generating help file for diverse solution

Topics: User Forum
Aug 30, 2012 at 3:56 PM
Edited Aug 30, 2012 at 3:57 PM

So I tried to point SHFB at my solution file and it throws error BE0070 because we have projects with all different framework targets. Is this a Sandcastle error or a SHFB error? Are there any instructions on how to use the Version Builder Plug-In or where it even is?

What I really want is to just point something at my solution file and have it generate all documentation regardless of the the framework version. Or just recursively look for .xml files in debug/build folders and use those to generate the help files. I do not want to have to manually add individual projects to a list.

If this is not possible with SHFB I'll probably write my own script to do this. If I do end up having to go this route, will SHFB be any help to me, or is using Sandcastle directly more appropriate?


Aug 30, 2012 at 7:31 PM

The problem is that the different frameworks all use different sets of assemblies with differing version numbers even though they may share common names.  Trying to run the MRefBuilder tool against a Silverlight or Portable Framework assembly using the standard .NET Framework assemblies results in unresolved assembly reference errors.  That's why SHFB generates the BE0070 error and refuses to document solutions with mixed framework types.  Each needs to be parsed for reflection information using the matching set of reference assemblies.

The Version Builder Plug-In can help you merge the results into a single help file.  The main project would contain the projects for one framework type, a sub-project containing the projects for the other framework type would be added to the Version Builder plug-in's configuration.  When you build the main project it will generate reflection data separately for each set of projects and merge the results.  It also adds the appropriate label and version information to each API member indicating to which one it belongs.


Aug 30, 2012 at 7:34 PM
Edited Aug 30, 2012 at 8:47 PM

I understand what the issue is of trying to compile them together, but why can't it just queue them up to run one after another?

I also saw the documentation for Version Builder, but where is it and how do I use it? I don't see any options in the GUI. Is it a command line switch?

EDIT: Nevermind. After some additional digging I see that you need to go to Project Properties -> Build -> PlugInConfigurations and edit it. Then select Version Builder.

I'd still really like to see this become automated. It's of limited use when you have to manually divide up projects into buckets based on their framework type. VS can figure out what to do with different projects based on the framework they require, surely SHFB should be able to?