笔者遇到的一个问题,dll文件在客户端可以加载成功,在web端引用程序报错。解决方法:利用反射动态加载dll
头部引用加:
using System.Reflection;
主要代码:
Assembly asm = Assembly.LoadFrom(AppDomain.CurrentDomain.BaseDirectory+ "/DeclareDLL/YunDouTaxLib.dll");////我们要调用的dll文件路径 //加载dll后,需要使用dll中某类. Type t = asm.GetType("namespace.classname");//获取类名,必须 命名空间+类名 //实例化类型 object o = Activator.CreateInstance(t); //得到要调用的某类型的方法 MethodInfo method = t.GetMethod("functionname");//functionname:方法名字 object[] obj = { Parameters[0].TaxpayerName, Parameters[0].TaxpayerTaxCode, Parameters[0].CAPassword }; //对方法进行调用 var keyData = method.Invoke(o, obj);//param为方法参数object数组