【发布时间】:2011-07-19 14:11:22
【问题描述】:
我的公司现在正在使用 nuget 来打包我们所有的共享程序集。我们还开始使用标签基于 semver 对它们进行版本控制。
我遇到了 nuget 无法正常工作的情况。
我有 3 个共享程序集....
- 枚举
- 常见
- 业务逻辑
在包引用方面...
- 通用 => 枚举
- BusinessLogic => 通用,枚举
BusinessLogic 同时依赖于 Common 和 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
- BusinessLogic => 枚举 1.5.0
现在我跑...
nuget pack BusinessLogic.csproj
我期望发生的是 nuget 会看到 Common 需要 Enum 的 1.4.0,但 BusinessLogic 需要 1.5.0,因此在包中添加了 Enum >= 1.5.0 的依赖关系,但 Enum 中根本没有依赖关系,我认为它假设 Common 会实现它。
这是设计使然吗?
【问题讨论】:
标签: nuget nuget-package