【问题标题】:Nesting nuget packages嵌套 nuget 包
【发布时间】:2020-09-11 09:14:02
【问题描述】:

我有一个 nuget 包,其中包含重试策略和一些用于 数据库、http 和缓存客户端。这个想法是应该以有序和安全的方式访问所有外部依赖项。所有包都托管在私有 nuget 服务器中。

如果我将重试策略 nuget 包包含到单个客户端的 nuget 包中,一方面会很棒,因为仅使用一个包的最终应用程序将获得全部功能。

另一方面,基础包中的更新(在此示例中为重试策略)将引发对许多其他 nuget 包的更新需求,这些包被多个应用程序使用。

是否有任何既定的最佳实践?

【问题讨论】:

    标签: .net azure .net-core nuget


    【解决方案1】:

    我个人的做法是尽可能保持 nugets 的独立性。所以依赖越少越好。

    如果您的客户端 nuget 代码依赖于它(因为没有它就无法编译),无论如何您都必须添加它。

    如果您的客户端 nugets 代码不直接依赖于重试策略,那么您最好不要将其添加为依赖项。

    这使您在将来使用客户端 nuget 时可以灵活地使用不同的重试策略。

    正如您所期望的:如果您添加它并且必须更新重试策略 nuget,那么您也必须更新客户端 nuget,以便仅使用不同版本的依赖项(尽管没有更改实际代码)。

    为了将一组 nugets 与指定版本捆绑在一起(我认为你想要),你仍然可以创建仅包含所选依赖项且没有代码的元包/nugets。

    【讨论】:

      猜你喜欢
      • 2017-09-25
      • 2020-05-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多