Можно ли достичь двоичной совместимости в библиотеке.NET?

У меня есть библиотека.NET, видимая в COM, и она вызывается из приложения vb6.

Если я добавлю некоторые методы и выпущу новую версию (но не стираю и не изменяю сигнатуры существующих методов), мне бы хотелось иметь возможность просто установить его на рабочий компьютер и заставить его работать. Однако, похоже, что такой подход не работает; Мне нужно перекомпилировать приложение vb6.

Есть ли способ добиться этого?

1 ответ

Решение

Вы можете явно использовать Guid атрибут на ваших интерфейсах и классах COM и тому DispId Атрибут на ваши методы, поля и свойства:

[Guid("0E213759-1679-4CD1-8322-566CF76928EF")]
public class SampleClass
{
    [DispId(8)]
    public void MyMethod() {}
}
Другие вопросы по тегам