Version Management

Topics: General Questions
Apr 14, 2009 at 4:38 AM
We have two VS solutions: one is for a DLL for desktop computers and the other for a DLL for mobile devices. We've been using a DocProject project in the desktop solution for our reference and conceptual documentation. That all works well and we're really impressed with what DocProject has been able to do for us.

The mobile solution references a number of projects used in the desktop solution, so there's a lot of duplication. We'd like to merge the documentation for both solutions, to generate an MSDN-style documentation build that shows which classes and methods are available in which DLL. I understand that I should be using the 'Version Builder' component?

Here's what I've done so far:

1) Opened the DocProject project configuration window. Opened the Build > Version Management dialog.
2) For the current managed assembly I've added a 'Source version name' of 'Desktop'
3) Added a new 'Related Version'. The 'Path' points to the mobile DLL, and 'Version name' is set to 'Mobile'
4) Rebuilt the documentation

The extra classes and methods contained in the mobile DLL are now present in CHM. There is also a pair of "Version Information" and "Supported In:" headings, but no text below (I was expecting "Mobile" or "Desktop", or both). In addition, all text from that heading down (including the footer) is now in bold face.

Any suggestions? I'm quite happy to offer clarification where required...

Thanks for your consideration...
Coordinator
Apr 14, 2009 at 6:09 AM
Hi,

You may be observing the effects of a known bug.  See the following work item for details and a solution:

http://docproject.codeplex.com/WorkItem/View.aspx?WorkItemId=17932

Please let me know if this doesn't solve your issue.

- Dave
Apr 15, 2009 at 2:51 AM
Yup. Issue solved! Many thanks for the quick response.

While poking around in the XML to modify the style, I came accross what I think is support for platform information? Is this the 'thing' that inserts icons for the compact framework in the MSDN documentation? How can I configure platform information for each of my assemblies?

/William
Apr 15, 2009 at 5:31 AM
Additionally (looking at Help\Settings\versions.xml), can I add other sources (also with multiple versions) to my DocProject?
Coordinator
Apr 15, 2009 at 1:52 PM
Hi William,

Platform information isn't supported in Sandcastle yet.  See the following discussion for more information:

Platform and Version information
http://docproject.codeplex.com/Thread/View.aspx?ThreadId=33748

I'm not sure what you mean by, "other sources".  The External sources project option allows you to add assembly and folder sources instead of (or along with) project references.  Is that what you need?

The Version management project option opens a dialog that uses the versions.xml file to read/write version information for each documentation source.  The dialog lists all supported project references and all external sources.  From here you can specify the paths to multiple versions of each and when you save your changes to the solution the versions.xml file will be updated.

Please let me know if that doesn't help.

- Dave
Apr 16, 2009 at 1:38 AM
Hi Dave,

We're getting close. I've now added the mobile DLL as an 'External Source' (the 'Source' option points to a DLL file, and the 'XML Documentation' option points to the VS-generated XML documentation).

For classes that exist only in the desktop DLL, version information similar to that below is now shown:

Version Information
Desktop Documentation

Supported in: 2.9, 3.0

For classes that exist only in the mobile DLL, version information similar to that below is shown:

Version Information
Desktop Documentation

Supported in: 3.0

I can change 'Desktop Documentation' using the 'Documentation Set Name' configuration option, so that's not a big deal. However, I was hoping for version information similar to:

Version Information
Desktop
Supported in: 2.9, 3.0
Mobile
Supported in: 3.0

(assuming the class existed in both mobile and desktop DLLs). Is this something I can achieve?

Thanks for your help so far Dave, it's very much appreciated!

/William
Coordinator
Apr 16, 2009 at 6:11 AM
Hi William,

Version grouping isn't supported in DocProject at this time.  I'll investigate and if I come up with any workarounds I'll be sure to post them here.

- Dave
Coordinator
Apr 16, 2009 at 6:13 AM
This discussion has been copied to a work item. Click here to go to the work item and continue the discussion.