基于打开的文件动态加载应用程序DLL

时间:2016-02-01 21:10:25

标签: c# winforms dll

这是使用click-once部署的标准Windows Forms应用程序。

我有一个应用程序,它打开为应用程序生成的文件,其中包含数据,供应用程序查看。由于版本之间的数据模式更改,文件与应用程序的发行版相关联以实现兼容性。

理论上我要做的是检查文件何时打开,并确定读取文件所需的应用程序版本。确定之后,为所需的版本加载适当的DLL。基本原则是用户可以安装一个版本的应用程序并从多个版本打开文件,因为代码库中考虑的架构差异是在特定于版本的DLL中维护的。

是否有人写过或看到过与此目标类似的内容?

1 个答案:

答案 0 :(得分:0)

目前还不清楚数据结构的复杂性,但首先我会检查Version Tolerant Serialization。这意味着尝试使用相同的代码支持不同的数据版本,因为支持不同的程序集可能会导致大量的维护工作(修复旧版本中的错误将需要合并所有后续版本中的更改)。

如果您的数据结构发生变化(通常是通过添加字段),它们将被标记为可选,反序列化不会失败。

对于还需要特殊处理的主要更改,您可以包含可能触发代码中某些其他功能的版本字段。