Можно ли достичь двоичной совместимости в библиотеке.NET?
У меня есть библиотека.NET, видимая в COM, и она вызывается из приложения vb6.
Если я добавлю некоторые методы и выпущу новую версию (но не стираю и не изменяю сигнатуры существующих методов), мне бы хотелось иметь возможность просто установить его на рабочий компьютер и заставить его работать. Однако, похоже, что такой подход не работает; Мне нужно перекомпилировать приложение vb6.
Есть ли способ добиться этого?
1 ответ
Решение
Вы можете явно использовать Guid
атрибут на ваших интерфейсах и классах COM и тому DispId
Атрибут на ваши методы, поля и свойства:
[Guid("0E213759-1679-4CD1-8322-566CF76928EF")]
public class SampleClass
{
[DispId(8)]
public void MyMethod() {}
}