c# - 核心库和扩展库的版本控制

标签 c# versioning ninject backwards-compatibility

Ninject 项目由 Ninject 核心库和大量(~17)扩展库组成。

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

问题是您认为哪个选项最容易造成混淆:

  1. 正确增加主版本号,优点是版本号反射(reflect)向后不兼容,缺点是核心和扩展不同步,这样就不容易分辨匹配了.

  2. 保留分机的主号码,只增加次号码。优点是数字相同并且很容易分辨出匹配的内容。但缺点是数量不反射(reflect)向后不兼容。

  3. 增加所有内容的主要数量。优点是数字相同。但是核心和几个扩展的缺点是即使向后兼容也增加了主数。

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

最佳答案

我会选择最后一个选项,我不认为增加主要版本号意味着向后兼容性已被明确破坏,在很多情况下产品的版本号增加而不会破坏向后兼容性,采取以 .NET 为例,多年来版本号从 1 增加到 4,几乎所有版本都没有损坏。

关于c# - 核心库和扩展库的版本控制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7046713/

相关文章:

c# - TryParse 为可空类型

c# - Thread.Sleep(0) 没有按描述工作?

java - Android Studio 中的版本控制

Java 项目 : should . 类路径 .project 文件被提交到存储库?

xamarin - Ninject StandardKernel System.ArgumentNullException : value cannot be null. 参数名称:path1

背景面板的 C# 鼠标悬停事件

c# - 计算器故障: Only getting second value I enter

git - 将库开发转移到自己的项目中

ninject - 在 Ninject 中继承构造函数参数

c# - Ninject + 自动发现