gpt4 book ai didi

多次获得相同的依赖项时,nuget 不检查版本

转载 作者:行者123 更新时间:2023-12-05 01:20:54 25 4
gpt4 key购买 nike

我的公司现在正在使用 nuget 来打包我们所有的共享程序集。我们还开始使用标签基于 semver 对它们进行版本控制。

我遇到了 nuget 无法正常工作的情况。

我有 3 个共享程序集....

  • 枚举
  • 普通
  • 业务逻辑

  • 在包引用方面......
  • 通用 => 枚举
  • 业务逻辑 => 通用,枚举

  • BusinessLogic 依赖于 Common 和 Enum 的原因是我不想在不需要使用新的 enum 时更新 Common 的依赖(和重建、打包、发布)商业逻辑

    因此,我添加了一个枚举并希望在 BusinessLogic 中使用它。

    在我这样做之前,这些是所有内容的版本......
  • 枚举 = 1.4.0
  • 普通 = 1.2.1
  • 业务逻辑 = 2.0.1

  • 我现在将要在 BusinessLogic 中使用的新枚举值添加到 Enum 项目并构建、打包、发布......
  • 枚举 = 1.5.0
  • 普通 = 1.2.1
  • 业务逻辑 = 2.0.1

  • 现在,我对 BusinessLogic、提交、推送、打包等进行了更改……
  • 枚举 = 1.5.0
  • 普通 = 1.2.1
  • 业务逻辑 = 2.1.0

  • 所以,现在依赖看起来像这样......
  • 通用 => 枚举 1.4.0
  • 业务逻辑 => 枚举 1.5.0

  • 现在我跑...
    nuget pack BusinessLogic.csproj

    我期望发生的是 nuget 会看到 Common 需要 Enum 的 1.4.0,但 BusinessLogic 需要 1.5.0,因此为 Enum >= 1.5.0 添加依赖项到包中。 ,但是 Enum 根本没有依赖关系,我认为这是假设 Common 会实现它。

    这是设计使然吗?

    最佳答案

    我同意你的看法,目前的行为是不正确的。 nuget 尝试优化依赖项以将它们保持在最小集合,但不考虑版本不同的这种情况。

    能否请您在 http://nuget.codeplex.com/ 上提交错误?所以它出现在雷达上?

    作为目前的解决方法,您应该能够在用于构建 BusinessLogic 包的配套 .nuspec 文件中显式添加依赖项。

    关于多次获得相同的依赖项时,nuget 不检查版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6748546/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com