v 3.1.0210 does not compile anymore using C++ .NET VS2003

SyntaxEditor for Windows Forms Forum

Posted 18 years ago by Joris Koster - Paragon Decision Technology
I just downloaded the latest 3.1.0210 release, installed it and updated my references/licences file. I'm now longer able to compile my (.NET C++) code.

The specific error messages I get are:
error C3624: 'b6': the compiler cannot find this type; it is defined in the module 'imm32.dll'
error C3624: 'n': the compiler cannot find this type; it is defined in the module 'imm32.dll'
In the cases above 'b6' appears to be the dotfuscated version of IntelliPromptInfoTip, and 'n' seems to be a TokenCollection.

It turns out to be a bug in MS VS2003, which 'does not reproduce' (!!?) under 2005, see MS Feedback and therefore seems not important enough to fix in VS2003 :(.

Several others had trouble with this same issue, see e.g.:

As it seems to be a problem related to the 'imm32.dll':
imm32.dll, Windows XP IMM32 API Client DLL, 5.1.2600.2180 (xpsp_sp2_rtm.040803-2158)

Any ideas on what changed in those classes? Could you undo those changes, or do them differently?

Comments (1)

Posted 18 years ago by Actipro Software Support - Cleveland, OH, USA
Strange... we don't even reference imm32.dll. However I did some testing... made a simple C++ VS 2003 project that references the Document.Tokens collection and got the error you did. I converted the project to VS 2005 and no longer got that error.

From reading your posts and the Microsoft feedback it does appear that it is an issue with their compiler which they have no intention of fixing for VS 2003.

With the latest SyntaxEditor build, we moved to .NET 2.0-based projects, an automated build system using MSBuild, and to a new obfuscator (Dotfuscator) as well. We use a utility from Microsoft that builds .NET 1.1 assemblies from our VS 2005 projects and deploy them side-by-side with the .NET 2.0 assemblies. So one or the other of those things must be exposing this problem with the VS 2003 compiler in C++.

Unfortunately we cannot go back to how we used to do things since the entire build/deploy process on our end is changed.

My recommendation would be to return to the last .NET 1.0 maintenance release that we put out (we can make it available for you if you don't have it saved) or upgrade to VS 2005. Unfortunately I don't know what other options there are in this situation.

Actipro Software Support

The latest build of this product (v24.1.0) was released 4 months ago, which was after the last post in this thread.

Add Comment

Please log in to a validated account to post comments.