设置如下:
我们有一个公共图书馆
所有人都使用的
任何新应用程序或
不仅仅是对旧事物的微小改变
应用。当我们做出改变时,
我们将次要版本号(2.0到
2.1)如果API没有被破坏,但是如果我们破坏了API,那么我们将
版本号(2.1到3.0)。有
为每个
新版本并将其部署到
提供给
开发人员需要时安装。这个
安装程序将程序集放入
服务器上的GAC,并修改
machine.config包含一些
配置信息。
最新版本(4.0)非常频繁地使用System.Configuration命名空间(自定义配置节和配置节组),但有一个问题我没有想到,我不太确定如何解决:升级版本时,我们的版本与配置节发生冲突。
例如,在machine.config文件中,它将用于指定应用程序名称的信息放入config部分。看起来像这样:
<section name="application" type="CommonLibrary.Configuration.ApplicationSection,
CommonLibrary, Version=4.0.0.0, Culture=neutral, PublicKeyToken=sometokenhere" />
现在我们有了版本4.1,这个部分定义中断了,因为应用程序正在使用版本4.1dll,而机器配置告诉它加载版本4.0dll。
处理这个问题的最佳方法是什么?必须记住,修复一个关键问题并使用Publisher策略文件将旧版本重定向到较新的次要版本的可能性是存在的,因此解决方案必须考虑到这一点(除非我们决定不允许这样做,只对关键问题进行适当的修复)。
思想?意见?建议?