

























通常来说一个程序添加了引用之后,最后执行时简单将所有引用到的assembly放在同一个目录下就可以了。不过,也可能需要这样的情况,就是使用到不是同一个目录下的assembly。
这个问题在KB 837908中有描述,讲了如下三种方法:
第一个方法:将assembly放到GAC中
第二个方法:就是在.config文件中加入<codeBase>标签
如:
第三个方法:使用AssemblyResolve事件
这个方法利用了AppDomain的AssemblyResolve事件,在程序开始注册这个事件,然后就可以在这个事件中处理了。比如:
除了这三种方法外,还有如下的方法
第一个方法就是使用反射,自己动态Load assembly。这种方法不是很好,因为这样不能添加这个assembly的引用,所以要在程序中反射得出方法、属性等。
第二:如果要用到的assembly是处于需要引用程序执行文件的下级子目录中,就可以有下面两种方式:
a、使用probing元素,如
b、利用AppDomain的AppendPrivatePath
比如:AppDomain.CurrentDomain.AppendPrivatePath("common");
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。