是否可以以编程方式执行程序集重定向

时间:2013-06-04 21:39:49

标签: .net unity-container app-config

我们在一些新的类库中使用Microsoft的Unity框架进行依赖注入。主应用程序正在使用一些期望Unity v2.0.414的其他企业库(通用和日志),但我们使用Unity v2.1.515实现了我们的库。

为了解决版本差异,我为主应用程序创建了一个app.Config,并将一个bindingRedirect条目放入配置文件中,并且效果很好。然而,我们刚刚了解到应用程序到目前为止从未使用过app.config,而mgmt更喜欢这种方式。

那么可以以编程方式实现程序集重定向(即在代码中)吗?谢谢!

1 个答案:

答案 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);
    // ...
}