阅读背景:

使用C#的AssemblyResolve事件动态解析加载失败的程序集

来源:互联网 

我们知道反射是 依赖注入 模式的基础,依赖注入要求只在项目中引用定义接口的程序集,而不引用接口实现类的程序集,因为接口实现类的程序集应该是通过反射来动态加载的,这样才能保证接口与其实现类之间的松耦合。可是有时候我们使用反射动态加载程序集的时候会失败,因为除非我们手动将接口实现类的程序集放在项目生成后的bin目录下,或者是在GAC中,否者.Net Framework并不知道该到哪里去寻找接口实现类的dll程序集文件。幸运的是我们如果使用 AppDomain.CurrentDomain.AssemblyResolve事件,就可以通过C#代码来自定义程序集加载逻辑,当C#反射解析程序集失败的时候,通过执行自定义程序集加载逻辑来找到相应的程序集dll文件。 模式的基础,依赖注入要求只在项目中引用定义接口的程序集,而不引用接口




你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: