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

标签 .net unity-container app-config

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

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

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

最佳答案

你试过 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);
    // ...
}

关于.net - 是否可以以编程方式执行程序集重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16927952/

相关文章:

c# - 如何在 C# 中通过多字符定界符拆分字符串?

c# - 为动态创建的 asp 面板设置内联样式

c# - exe中的图像,wpf,c#.Net,vs2008

c# - 我应该将 Unity 容器传递给我的依赖项吗?

vb.net - 如何解决循环依赖

c# - Unity 静态属性注入(inject)

.net - Entity Framework 4 保存并取消

c# - 如何配置 Quartz.net 数据库架构名称?

log4net - 在 log4net 中启用日志级别

.net - 我可以在 App.config 中声明和使用 DTD 实体吗?