如何处理库依赖版本?

时间:2016-12-06 18:50:42

标签: c#

我想编写一个利用以下功能的库JSON .NET。假设我使用的是JSON .NET 8.0版。当我分发我的库时,任何使用它的人都必须使用相同版本的JSON .NET,它将与他们已经使用的任何版本冲突。

我可以将我的库的序列化部分隔离到一个单独的NuGet包中,但这仍然取决于特定的版本。

如何构建我的库,使其提供开箱即用的序列化功能,但不限制客户端代码的第三方包?这种事情是否存在任何现有模式?

1 个答案:

答案 0 :(得分:1)

实际上,你的假设并不完全正确。可以使用其他版本的依赖项 。在.NET中,我们使用assembly unification来完成此任务。从本质上讲,最终用户的配置文件可以写成“当代码需要8.0版时,可以使用9.0”。大多数情况下,较新的代码被编写为反向兼容。

最终,你无法强调它。来到这个领域。