2010-09-09 77 views
2

我有一个.NET库在COM中可见,它从vb6应用程序调用。可以在.NET库中实现二进制兼容性吗?

如果我添加了一些方法,并发布一个新版本(但不要删除或更改现有方法的签名),我希望能够只安装在生产机器,并有工作。但是,似乎这种方法行不通;我需要重新编译vb6应用程序。

有什么办法可以达到这个目的吗?

+0

什么你问是不是二进制兼容性容易得多。你迟到了,与'IDispatch'绑定。 – 2010-09-09 08:44:38

+0

该死的,你说得对,迟到了。无论如何,我想这个问题已经够清楚了。 – raven 2010-09-09 08:49:41

回答

6

可以明确地使用你的COM接口和类Guid属性和DispId属性上你的方法,字段和属性:

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

这就是我需要的一切吗?我有Guid但不是DisId的。将尽快尝试,谢谢! – raven 2010-09-09 08:53:12

+0

这是如何工作的?我处于类似的情况。 – Jammer 2014-02-17 16:14:03

+0

对不起,Jammer,直到现在才看到您的评论。为了将来的参考,它像一个魅力。 – raven 2014-08-14 15:53:26

相关问题