我们在一些新的类库中使用Microsoft的Unity框架进行依赖注入。主应用程序正在使用一些期望Unity v2.0.414的其他企业库(通用和日志),但我们使用Unity v2.1.515实现了我们的库。
为了解决版本差异,我为主应用程序创建了一个app.Config,并将一个bindingRedirect条目放入配置文件中,并且效果很好。然而,我们刚刚了解到应用程序到目前为止从未使用过app.config,而mgmt更喜欢这种方式。
那么可以以编程方式实现程序集重定向(即在代码中)吗?谢谢!
答案 0 :(得分:8)
您是否尝试过AppDomain.AssemblyResolve事件?
这篇文章也可以为您提供帮助How to use Assembly Binding Redirection to ignore revision and build numbers
public void Load(string assembly)
{
AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(Method);
Assembly assembly = Assembly.LoadFrom(assemblyFile);
// ...
}