动态加载DLL时反射TargetInvocationException错误

时间:2018-10-16 12:39:23

标签: c# reflection

我需要动态加载一个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

我被困住了,任何帮助将不胜感激=)

0 个答案:

没有答案