Unable to call methods of public COM interface in legacy code

70 views Asked by At

I have a C# DLL that has "Register for COM interop" set to true. Everything worked fine until I added a new interface in this DLL and changed name of one of the methods in an existing interface.

Now after doing this, I recompile and try to use these interfaces in my legacy application, I get errors like Undeclared identifier "name of the interface". I am unable to use any of the methods of the interface. I have checked in this code on source control and compiling this code on any other machine works fine. So there is nothing wrong with the code for sure.

Here is how I declared the interface

[ComVisible(true), Guid("9A8A1B45-190B-4263-826E-6A83E8C13712")]
public interface IArcImporter : IArcObjectsErrorHandler
{
    string ConnectToArcOnline();
    string GetServerName();
}

I have tried to register the DLL using regasm as well but nothing seems to be working. I am getting compile time errors. If I undo my changes, then both the projects compile fine. While same changes on other machines are working fine.

0

There are 0 answers