【发布时间】:2010-10-22 12:49:53
【问题描述】:
情况概览。
我们有几个项目用于多功能系统。
- objectAccessLibrary.dll(多个版本)
- dispatcherHandler.dll (v.1.0)(依赖: objectAccessLibrary.dll的版本独立部分)
- 事件处理程序:handler_01.dll、handler_02.dll、handler_03.dll。 依赖项:dispatcherHandler.dll (v.1.0)、objectAccessLibrary.dll(特别是 每个handler_xx.dll的版本)
- DispatcherService(依赖性:objectAccessLibrary.dll 的特定版本)。动态加载处理程序并使用其功能来调度事件。
问题
objectAccessLibrary.dll 正在与核心系统一起开发。它公开了一些可以从版本更改为版本的接口/对象。因此,每次我们需要添加新处理程序时,都应该使用旧处理程序重新编译和重新测试 dispatcherHandler.dll 和 DispatcherService,因为它必须使用最新版本的 objectAccessLibrary.dll 。 但另一方面,DispatcherService 必须在 hanlder_xx.dll 动态加载时运行。
如果新处理程序不使用新的 objectAccessLibrary.dll 功能,则当前版本可以正常工作。 一般情况下,我们需要加载不同版本的objectAccessLibrary.dll,并在它们和dispatcherHandler.dll之间共享一些对象。如何做到这一点?
【问题讨论】:
标签: .net .net-3.5 dll type-conversion