2010-09-09 79 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

相關問題