当前位置:  开发笔记 > 编程语言 > 正文

加载同一程序集的不同版本

如何解决《加载同一程序集的不同版本》经验,为你挑选了2个好方法。

使用反射,我需要加载同一组件的2个不同版本.我可以在同一个进程中在2个不同的AppDomain中加载2个版本吗?

我需要从旧版本的应用程序到新版本进行一些数据迁移.如果可能,请告诉我,或者我应该使用2个单独的流程.



1> GEOCHET..:

如果你是在设计时做的(你表明你不是),这应该对你有所帮助:

http://blogs.msdn.com/abhinaba/archive/2005/11/30/498278.aspx

如果你通过反射动态地进行(看起来像这里的情况),这可能会帮助你:

http://infosysblogs.com/microsoft/2007/04/loading_multiple_versions_of_s.html



2> Gulzar Nazim..:

更新:我想我会将我的发现作为答案发布.事实证明,反思在开发工作,跟踪运行时错误等方面过于复杂.我记得在长时间遇到类似情况时使用2种不同的流程做不同的方法(谢谢Brandon).

这是一个计划:没有什么优雅,但在开发和故障排除方面更容易.由于这是一次性工作,我们只需要让它工作.

主持具有新版本应用程序的远程处理过程(我称之为服务器).远程客户端具有旧版本的参考.

远程客户端使用迁移所需的数据实例化并加载对象.将旧对象转换为常见的可序列化对象,并将其作为参数传递给服务器.

Remoting Server使用公共数据来实例化和加载新对象.调用新类型的函数以保留其数据.

推荐阅读
雯颜哥_135
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有