У меня есть простой класс C # с атрибутами COM:
[ComClass("1DC7B465-49FA-4ad1-893E-C19657E1ED25", "F97459E6-AB37-43e6-AC57-6AE5F9A9A835", "BD9F01C7-162A-4f95-9398-C126C152B965")]
[ComVisible(true)]
public class Class1
{
}
Мне нужно использовать этот класс из приложения VB6. Это работает хорошо, пока я не изменил AssemblyVersion .NET DLL. Тогда VB6 не создает экземпляр класса C # (выдает исключение ACtiveX), пока я не перекомпилирую его (приложение VB6).
Интересно, что мне не нужно перекомпилировать Class1, если он написан на VB.NET.
В чем разница между C # и VB.NET? Есть ли способ заставить C # вести себя как VB.NET?