C# 利用反射动态加载dll

笔者遇到的一个问题,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数组
posted @ 2017-09-22 16:18  一指流砂~  阅读(11153)  评论(0编辑  收藏  举报