2011-08-12 121 views
4

的Ninject项目包括扩展库的Ninject核心库和很多(〜17)。版本的核心库和扩展库

目前,Ninject及其扩展库都具有相同的MAJOR.MINOR数量。 Ninject核心的下一个版本将向后兼容,因此增加次要编号是正确的操作。至少有一个扩展库不能向后兼容。在这种情况下,正确的操作是增加主号码。但是这会使核心和扩展不同步。

的问题是哪个选项,你认为最好的,这将导致至少困惑:

  1. 正确加大与版本号反映了向后不兼容性和缺点的核心优势主要号码并且扩展名不同步,因此不容易分辨哪些匹配。

  2. 保持大数量的扩展,增加只有轻微的数量。由于数字相同的优点,并且很容易判断匹配。但是这个数字并没有体现出落后的不兼容性。

  3. 增加一切的主设备号。优点是数字相同。但是即使它们向后兼容,核心和几个扩展的主要数量也有所增加。

或者你能想到另一个更好的选择吗?

+2

我认为[programmers.se]是这个问题的一个更好的地方,但我给你的问题是:你认为是密切相关的扩展的版本号的核心库的版本号? –

+0

问题扩展库是否改变了?如:在扩展库中的代码是否改变了? –

+0

这些扩展通常是为最新的核心版本而构建的,并使用一些新功能,因此不能使用较旧的版本运行。另一方面,旧版本只要向后兼容,就可以运行在更新的核心版本上。 –

回答

1

我将与最后一个选项去,我不认为增加主版本号意味着向后兼容性已明确打破,有很多情况下,一个产品的版本号已经没有它打破向后兼容性提高,看看.NET,例如,版本号在过去几年中从1增加到4,几乎没有在所有版本中发生破坏。