我们有一个主应用程序(Winforms),其中包含几个包含逻辑和UI层的dll。在对如何在winforms应用程序中执行自动更新的一些研究之后,我找到了一个使用AppDomain和ShadowCopies功能的解决方案。
另一个可执行文件查找更新并进行文件交换。
好的,但是现在,我遇到了以下情况:
- 我启动主应用程序(通过新的AppDomain加载)。
- 我打开一个引用的dll中的表单(" ReferenceA")。从复制中复制并实例化此dll。 (大!)
- 此时系统会收到新版本" ReferenceA"的更新。和" ReferenceB",并进行文件交换。
- 我在" ReferenceB"中打开另一个表单。这个dll是从副本中复制和实例化的,但是这个dll也引用了" ReferenceA" ShadowCopy没有更新,因为它已经在目录中。
- 现在系统正在运行更新版本的" ReferenceB"使用旧版本的" ReferenceA"。在我的测试中,我在" ReferenceA"中创建了一个新方法。然后我显然得到了消息:"找不到方法"。
醇>
关于如何解决这个问题的任何建议?