是否有可能在.NET库中实现二进制兼容性?

rav*_*ven 2 .net vb6 interop binary-compatibility

我在COM中可以看到.NET库,它是从vb6应用程序调用的.

如果我添加一些方法并发布新版本(但不要删除或更改现有方法的签名),我希望能够将它安装在生产机器中,并使其正常工作.但是,似乎这种方法不起作用; 我需要重新编译vb6应用程序.

有没有办法实现这个目标?

Dir*_*mar 6

您可以Guid在COM接口和类上显式使用该属性,并在DispId方法,字段和属性上使用该属性:

[Guid("0E213759-1679-4CD1-8322-566CF76928EF")]
public class SampleClass
{
    [DispId(8)]
    public void MyMethod() {}
}
Run Code Online (Sandbox Code Playgroud)