The type 'SandcastleBuilder.Components.ShowMissingComponent' was not found

Topics: Developer Forum, Project Management Forum, User Forum
Jun 23, 2008 at 8:22 PM
Edited Jun 23, 2008 at 9:57 PM

Hi,
I am using Sandcastle 2.4.1502 version and Sandcastlehelpfile builder source code 1.7.0.0 . I have done a minor change to the source code by changing the text of the "Preliminary" tag which appears in the documentation. I built the installer of the helpfile builder and installed it . But the .shfb project does not build and gives this error "

 

The type 'SandcastleBuilder.Components.ShowMissingComponent' was not found in the component assembly 'C:\Program Files\EWSoftware\Sandcastle Help File Builder\SandcastleBuilder.Components.dll'.



Any idea why tihs error comes?
Coordinator
Jun 24, 2008 at 1:16 AM
You've probably built against an older version of Sandcastle.  Install the May 2008 release available at http://www.microsoft.com/downloads/details.aspx?FamilyId=E82EA71D-DA89-42EE-A715-696E3A4873B2&displaylang=en.  Make sure the project is referencing the latest version before you build it.

Eric
Jun 24, 2008 at 1:54 PM


EWoodruff wrote:
You've probably built against an older version of Sandcastle.  Install the May 2008 release available at http://www.microsoft.com/downloads/details.aspx?FamilyId=E82EA71D-DA89-42EE-A715-696E3A4873B2&displaylang=en.  Make sure the project is referencing the latest version before you build it.

Eric

Hi Eric,

I have installed the may2008 release but still i am getting this error when i build my projects

Coordinator
Jun 24, 2008 at 3:08 PM

Well, it's a version mismatch of some sort as the reason for the "not found" is that its built against a different version of the BuildComponents assembly.  The version listed in your first message is not right for the May release unless it was a typo.  Check the DXROOT environment variable to make sure it is pointing at the right copy of Sandcastle.  If you've installed the Visual Studio SDK, it can be pointing to the wrong location.  You might also uninstall SHFB and delete the folder if its still there to ensure that everything is gone before installing your custom copy.  If you don't want to pursue this further, the easiest fix in your case would be to install the standard version, modify the resource files in the installed copy of that, and just copy those files to any other location that you need.

Eric

Jun 24, 2008 at 9:51 PM
I just downloaded and installed the May build but got the same error. I checked my DXROOT environment variable, it said:

c:\Program Files\Sandcastle

I went to that directory, and while it exists and has subdirectories, it itself has no files. The created date on the directory does show today though, so I'm fairly sure it's the right place.

The file that the app says is missing does exist at the location is specifies:

'C:\Program Files\EWSoftware\Sandcastle Help File Builder\SandcastleBuilder.Components.dll'.

Should I change the DXROOT to point to c:\Program Files\EWSoftware\Sandcastle Help File Builder\ or something?

Thanks,
Andy

Coordinator
Jun 25, 2008 at 3:03 PM

If C:\Program Files\Sandcastle is empty, you've got a problem with the Sandcastle installation.  Check the top of the log file to see where it says it's finding Sandcastle.  If you can figure that out, you should be able to fix the problem.  You might also check for two copies of DXROOT (one system and one user) as the VS SDK can create a user copy of DXROOT that can mess things up.  If you find one, delete it so that it uses the system copy which should point at the latest Sandcastle release.

Eric

 

Jun 25, 2008 at 5:34 PM

Thanks for your help so far!

Here's my situation. I am running Windows Vista and I have both VS 2005 and VS 2008 installed on my machine. My DXROOT system environment variable is set to "C:\Program Files\Sandcastle". There is no DXROOT variable under User Variables on my machine.

If I go to my C:\Program Files\Sandcastle directory, I see 6 subdirectories (Data, Examples, Presentation, ProductionTools, ProductionTransforms, and Schemas). There are no files in the C:\Program Files\Sandcastle directory, though the subdirectories such as Data\Reflection are loaded with files.

Under my Program Files\EWSoftware directory I have no files again, but one subdirectory called Sandcastle Help File Builder. In there I've got numerous files and subdirectories.

When I run Sandcastle it comes up fine. I select the DLL and XML file I want to build my documentation from, and click on the "Build the help file" button. It runs for a while, showing information in the Output box before finishing up and giving me the error. Like I said, I also reviewed the file that it says it's missing, and it is there, at the address identified. The version of the SandcastleBuilder.Components.dll is 1.5.0.1.

Thanks again,
Andy

Coordinator
Jun 25, 2008 at 7:24 PM
The root folders being empty is normal.  As long as you see all the files in the sub-folders everything should be there.  The components file version should match every other SHFB assembly (1.7.0.0).  The 1.5.0.1 version is about six version old.  Someone else had an issue with Sandcastle under Vista where it had virtualized the installed files (transformation files in that case).  I forget the folder now but it was somewhere under their user folder in Vista.  Once they deleted those files, it started using the real ones in the right location.  That could be what's happened here.  If you need more info on where to look, let me know and I'll find the e-mail.  I saved it in case something like this came up again.

Eric
Jun 26, 2008 at 12:10 AM

Thanks again for all your help Eric,

If it's not to much trouble, could you let me know what was found in that email? I searched through my Users directory, but nothing really leaped out at me that I should remove. Thanks!

Andy

Coordinator
Jun 26, 2008 at 2:46 AM
Look in C:\Users\<YOURACCOUNT>\AppData\Local\VirtualStore\Program Files (substitute your ID for "<YOURACCOUNT>").  You may see a .\Sandcastle and and/or .\EWSoftware folder.  If so delete them.

Eric