C# COM was working now isn't HELP!

R

RickBeddoe

I have a COM application written in C# that I'm referencing with Access. This
was working slick until today.

Before you ask, YES I have checked "Register for COM Interop selected" as
well as "Make Assembly COM VIsisble"

Getting this error message:

Class doesn't support Automation (Error 430)

You know the story: "I swear I didn't change ANYTHING!" On friday I was able
to get this to work, now it doesn't.

In the help for this message, it mentions the following:

"You changed a project from .dll to .exe, or vice versa. If, for example,
you have a .dll server already compiled and registered, and then you change
the project type to .exe and recompile it, the fact that the .dll and .exe
are already registered on your system prevents you from creating either
object. You must manually unregister the old .dll or .exe to avoid the
problem.
This is caused by the combination of project compatibility and changing a
project from an .exe to a .dll. In project compatibility, the CLSID is
preserved, but not the IID. Since the CLSID is preserved, the class ends up
being registered with two servers—one an in-process server, the other a local
server. When an instance is created, the in-process one is chosen. When the
querying of the interface occurs, the .dll does not support the IID because
it's new. "

I did not change this to .exe, but I did notice a message that came up
telling me the compiler was unable to un-register the .dll when I compiled
this a.m. I compiled again but did not receive the message a second time.

Any clues?
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top