我需要动态加载一个DLL,以便可以比较不同DLL版本中的两种相同方法,而无需使用Web服务。
我已经在另一个项目上做到了,并且效果很好。
但是我现在需要导入的Dll更加复杂,它使用C ++ dll参考等。
这是代码的一部分:
Type type1 = dll1.GetType("MyNamespace.MyClass");
var instance1 = Activator.CreateInstance(type1, "some string", "some string", "some string");
MethodInfo myMethod1 = type1.GetMethods().Where(X => X.Name == "myMethod").FirstOrDefault();
object retour1 = (object)myMethod1.Invoke(instance1, new object[] { fichier.FullName, dossier.FullName, null, false, null });
最后一行代码返回“ System.Reflection.TargetInvocationException ” 适当地在“ mscorlib.dll”中
由于我对反射还很陌生,所以我真的不知道发生了什么,这是由于c ++ dll引起的,还是我忘记了什么?相同的代码可用于更简单的DLL。
也许有更好的方法来执行此任务,但由于我无法执行以下操作:
Using myLib
Using myLib
我被困住了,任何帮助将不胜感激=)