DocProject crashes VS2008

Topics: Bugs
Jan 23, 2008 at 3:04 PM
Edited Jan 23, 2008 at 3:06 PM
Since there is a new release of Sandcastle and the VS2008 SDK I installed them and now running the Build action in my Documentation project causes VS2008 to crash hard. I have this exception on step 7 of 11 (Build Assembler):

"Could not load file or assembly 'BuildAssemblerLibrary, Version=2.3.8000.26, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)":"BuildAssemblerLibrary, Version=2.3.8000.26, Culture=neutral, PublicKeyToken=31bf3856ad364e35"

I realize updating to the new version of Sandcastle and/or the VS2008 SDK caused my issue, but I want to see if there is a way to resolve this without downgrading Sandcastle or removing the SDK. Note: I have a fresh install of VS2008, with no previous install of VS2005 and have never installed the VS2005 SDK

Jan 23, 2008 at 4:50 PM
Hi Joe,

I don't know how to resolve this issue without reverting back to the Sandcastle October 2007 CTP, which is the only supported version for DocProject 2008 Beta 2. You could try rebuilding the source code against the latest version of Sandcastle but I can't make any guarantees that it'll work (and there's at least one known issue with the Sandcastle January 2008 release that will probably cause a problem - work item 918). Read How To Use The Source Code and feel free to ask for help if you get stuck.

I'm getting a copy of VS 2008 for myself soon and I plan to release the next version of DocProject 2008 sometime in March or early April. You can read more about my plans for DocProject in my blog:

DocProject Roadmap

- Dave
Jan 23, 2008 at 6:17 PM

Thanks. I downgraded Sandcastle and I am able to compile now.

May 1, 2008 at 9:50 PM

Can you put this settings in a configuration file and provide flexibility to change it.

May 1, 2008 at 10:58 PM
Hi Naveen,

A few of the DocProject assemblies use managed references to Sandcastle assemblies, so this issue is actually a .NET Framework binding error. If you want to force DocProject to use a different version of a Sandcastle assembly, then you can use the Visual Studio configuration file (devenv.exe.config) and the DocProject External UI configuration file (DocProject.exe.config), depending on where you use DocProject, to add binding redirection for BuildAssemblerLibrary.dll and BuildComponents.dll; however, since DocProject is only designed to work with one particular version of Sandcastle, you will run the risk of breaking DocProject.

Note that the next version of DocProject 2008 will be released shortly after the next version of Sandcastle is released, which I hope will be sometime next week.

- Dave