Sandcastle Update


Thank you for using Sandcastle and providing with valuable feedback. It is always good to get emails from this community about Sandcastle. Today Microsoft MVP Michael Cummings, principal consultant @, contacted me about a thread on the MVP newsgroups that rumors the Sandcastle project has been abandoned. I would like to provide an update on where we are with Sandcastle project. We are currently working on updating Sandcastle to ship content for VS 2010 Help3 viewer.


After posting Sandcastle source at my team worked on shipping MSDN Library for VS2008 SP1. We made lot of improvements to MSDN library setup time by componentizing the .NET Framework content. I will post a separate blog about this fun project. Here are some interesting stats from this project:


VS 2008 MSDN Library

·         Topics: 838,708

·         VS and Frameworks Only Topics: 215,695

·         Install time 29 minutes – 19 minutes for HxMerge. (Note: this is the time it takes to do a full install of all MSDN library content, not just VS and Frameworks docs)



 VS 2008 SP1 MSDN Library

·         Topics: 872,199

·         VS and Framework Only Topics: 336,050

·         Install time 13 minutess – 5 minutes for HxMerge  (Note: this is the time it takes to do a full install of all MSDN library content, not just VS and Frameworks docs).


The Overall setup time for VS 2008 SP1 improved by 55% over Vs 2008 and the HxMerge time improved by 74%. The machine used for the above testing was a Dell/Optiplex 2.4Ghz, 1GB RAM with 80GB HD.


Sandcastle update in the next 2 weeks:

Few months ago I published the source code for Sandcastle in a ZIP format at . By the end of this month, I plan on updating the source code in the TFS server of codeplex to fix the following:

·         I did not provide a SLN file for the projects.  You could create your own, but it would be more convenient to provide one in the source distribution.

·         In the SLN file created from the previous source distribution, users encountered the following when trying to build this way:

o   Each project has TFS source control information which is not valid for people outside my team.  This will be stripped for the source distribution.

o   Most projects specify a strong name key file which doesn’t exist in the package.  The project files should disable signing, or a dummy key.snk should be provided.

o   The MoreComponents project doesn’t build; has errors such as “‘Microsoft.Ddue.Tools.BuildComponent’ does not contain a constructor that takes ‘1’ arguments”.  It seems that this is a non-essential project and maybe should not be included at all.

o   The MrefBuilderStatic project doesn’t build; has errors such as “The type or namespace name ‘RootFilter’ could not be found (are you missing a using directive or an assembly reference?)”.  I will remove this project.

o   BuildAssemblerConsole references the CommandLine project at an incorrect path.

o   The BuildAssembler and BuildAssemblerConsole projects appear to be duplicates and BuildAssemblerConsole doesn’t build.

·         After unloading the problematic projects, users able to get everything built.  Unfortunately, there are 115 warnings in the build.  These should really be fixed as a best practice.

·         There are lots of Code Analysis (FxCop) warnings.  We should set a good example by eliminating such warnings from the code we ship.

·         There are many files that pertain to the NT build system and should be excluded from the source distribution (makefile,, placefile, etc.).


Sandcastle update after VS 2010 Beta1:

After we ship VS 2010 Beta 1, I will post an updated version of sandcastle that we will be using for shipping VS 2010 Beta 1 MSDN library. This will include the following features and several bug fixes:

1.      Version we will be using to ship .NET Framework 4.0

2.      Support for F# syntax

3.      XSD documenter

4.      Attributes supporting Microsoft Help 3 viewer.

Happy New Year. Cheers.




Comments (4)

  1. xxx890 says:


    I have VS2008 and .NET Framework3.5 and Window Vista as operating system.

    I am trying to install sandcastle which I have downloaded from microsoft website.

    I can run ‘csc /t:library /doc:comments.xml test.cs’ in the command prompt and generate the comments.xml

    But when I run

    ‘MRefBuilder test.dll /’

    it is not successful and prompts

    ‘MRefBuilder’ is not recognized as an internal or external command, operable program or batch file

    Please help..


  2. nimble says:

    The last time I approached Sandcastle, I found that it didnt quite solve the last mile of the problem.

    While it could generate CHM documentation (which is standalone), the MSDN documentation (HxS etc) was missing a set of ‘merge’ tools for use with MSI/WiX.

    There were a set of Custom Actions available from the Help SDK (from memory), but they had a bug which prevented them from actually working – rendering them useless.

    I would really like to fully adopt Sandcastle, but the deployment story (specifically for MSDN integration) needs to be solved first.

    Any comments? Or links to articles which have solved this problem?


    Adam Langley