无法在遗留代码中调用公共COM接口的方法

时间:2014-09-04 04:13:31

标签: c# interface com interop com-interface

我有一个C#DLL,其中"注册COM互操作" 设置为true。一切正常,直到我在这个DLL中添加了一个新接口并更改了现有接口中某个方法的名称。

现在执行此操作后,我重新编译并尝试在我的遗留应用程序中使用这些接口,我收到错误,如未声明的标识符和#34;接口的名称"。我无法使用该接口的任何方法。我已在源代码控制上检查此代码,并在任何其他机器上编译此代码正常工作。所以代码肯定没有问题。

以下是我如何声明界面

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

我也尝试使用regasm注册DLL,但似乎没有任何工作。我收到编译时错误。如果我撤消我的更改,那么两个项目编译正常。虽然其他机器上的相同更改工作正常。

0 个答案:

没有答案