Part 2: Sandcastle Update


Per my earlier blog, I posted the source code for Sandcastle at This will enable you to browse the source code or access it using the methods described here .


The source code posted is the same version published previously in a ZIP format. With the latest release fixed the following issues reported in the Zip format:

·         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.).


Hope this helps. Cheers.



Skip to main content