Error generating reflection information for 32bit COM object

Topics: User Forum
Nov 4, 2011 at 9:58 AM

Hi,

I have a problem in SHFB where I cannot run a build through the GUI, because it fails with the following error:

Generating reflection information...
[C:\Windows\Microsoft.NET\Framework64\v3.5\MSBuild.exe]
AxmyLib : error MSB3290: Failed to create the wrapper assembly for type library "AxmyLib". Did not find a registered ActiveX control in 'myLib'.

This is a (currently) Visual Studio 2008 x86 solution. The 'myLib' COM object is 32bit, which I can't change.

This problem is also preventing me from using any parts of the GUI which use GenerateReflectionInfo. See http://blogs.msdn.com/b/visualstudio/archive/2010/05/07/building-on-cross-targeting-scenarios-and-64-bit-msbuild.aspx under the section "COM references are not resolved on cross targeting scenarios".

I believe this is happening because SHFB is targeting the 64bit MSBuild. I can successfully run a build from the VS Command prompt, which uses the 32bit MSBuild.

I have set the help file project platform to x86, but this still produces the same error. Is there anyway I can get around this issue in SHFB, and force it to use the 32bit MSBuild?

cheers

-stu

Coordinator
Nov 4, 2011 at 8:40 PM
Edited Nov 4, 2011 at 8:40 PM

You can force the GUI to run as a 32-bit app using the corflags utility:

corflags SandcastleBuilderGUI.exe /32BIT+ /Force

Eric

 

Nov 7, 2011 at 8:41 AM

Eric, thanks for that. Can't believe I've never come across corflags before.

-stu