У меня есть 6.0 DLL VB, который имеет метод, как показано ниже:Как динамически загружать dll VB 6.0 в C#?
Public Function PrintDemo() As Integer
PrintDemo = 10
End Function
библиотека DLL зарегистрирована на моей машине. Мне нужно динамически загружать эту dll в C#. Ниже способ, которым я пытался в C#:
Type obj = Type.GetTypeFromProgID("Project1.Class1");
object ins = Activator.CreateInstance(obj);
var method1 = obj.InvokeMember("PrintDemo", BindingFlags.InvokeMethod, null, obj, null);
Console.WriteLine(method1);
библиотека DLL становится успешно загружен, но я не могу ссылаться на него.
Может ли кто-нибудь помочь мне в этом?
Вы никогда не передавая экземпляр (INS) в элемент Invoke. Это может быть одна проблема –
Для чего вы пытаетесь сделать, возможно, этот подход лучше: http://stackoverflow.com/questions/4310681/how-do-i-call-a-visual-basic-6-0- method-in-c –
@drew_w, но тогда это не было бы динамичным, и не было бы вам вынуждено регистрировать ActiveX DLL на всех компьютерах, которые должны запускать его, и каждый раз, когда вы что-то меняете? – GalaxyNetworks