我有一个 C# DLL,它的“注册 COM 互操作”设置为 true。一切正常,直到我在这个 DLL 中添加了一个新接口并更改了现有接口中的一个方法的名称。
现在,在这样做之后,我重新编译并尝试在我的旧应用程序中使用这些接口,我收到诸如未声明标识符“接口名称”之类的错误。我无法使用接口的任何方法。我已经在源代码控制中检查了这段代码,并且在任何其他机器上编译这段代码都可以正常工作。所以代码肯定没有错。
这是我声明接口的方式
[ComVisible(true), Guid("9A8A1B45-190B-4263-826E-6A83E8C13712")]
public interface IArcImporter : IArcObjectsErrorHandler
{
string ConnectToArcOnline();
string GetServerName();
}
我也尝试使用 regasm 注册 DLL,但似乎没有任何效果。我收到编译时错误。如果我撤消我的更改,那么两个项目都可以正常编译。虽然其他机器上的相同更改运行良好。