.NET程序集绑定重定向

时间:2016-10-07 14:46:47

标签: c# .net binding .net-assembly

我已经为我们的支持工程师提供了一个用.NET编写的实用程序,它引用了我们产品中的程序集。每次出现新版本的产品时,我都必须重新编译该实用程序,并因为装配绑定而将新版本提供给支持工程师。支持工程师使用的实用程序引用了先前版本产品中的旧组件。当他们运行该实用程序时,它不会自动使用系统上安装的新版本。是否可以以这样的方式编译应用程序:我的实用程序将自动使用可能安装的任何较新版本?我试过设置"特定版本" IDE中的程序集引用上的属性为false。

我使用的是.NET 4.0和VS 2010.

我在这里查看了这篇文章:https://msdn.microsoft.com/en-us/library/7wd6ex19(v=vs.110).aspx

但我不知道如何在编译时为我的申请做出决定。如果它可能吗?我不想在每次更新产品时向他们发送新的配置文件或更改机器设置。

编辑:我可以通过处理AssemblyResolve事件并从我的安装目录显式加载DLL来解决问题。但是有更简单的方法吗?如项目设置或配置文件设置自动执行此操作?

1 个答案:

答案 0 :(得分:0)

您是否通过汇编或文件夹扫描查看了依赖注入和自动注册。您可以使用任何IOC框架(如Structuremaps,Autofac或Unity等)实现此目的。他们都可以做到这一点,而无需硬绑定到特定的程序集版本。我更喜欢结构图,因为我从2006年开始习惯它。

Structuremaps structuremap.github.io

Autofac http://docs.autofac.org/en/latest/getting-started/

团结https://msdn.microsoft.com/en-us/library/dn223671(v=pandp.30).aspx