C# 动态加载程序集
2012-06-25 16:55 Andrew.Wangxu 阅读(486) 评论(0) 编辑 收藏 举报今天在反序列化时发生错误:找不到程序集XXX
以前用过其他的方法解决这个问题,追加程序集的寻址文件夹地址。
现在分享另外一种方法叫做:当程序集加载失败时~
事件注册如下:
AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(CurrentDomain_AssemblyResolve);
事件内容:
static System.Reflection.Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args) { //args.Name "ERPModel, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" if (args.Name.Split(',')[0] == "ERPModel") { //手动指定程序集的位置 return Assembly.LoadFrom("C:\\EService\\DDLERP\\ERPModel.dll"); } return null; }
当程序加载失败时,判断加载失败的是什么程序集。。 我这里判断 ERPModel 程序集加载失败时。
就动态加载指定的这个dll。
参考:http://www.wxzzz.com/?id=106