Son*_*ate 2 nuget nuget-package
我正在研究如何使用NuGet在我的组织内分发开发人员框架和工具.我有服务器设置,能够生成包并将它们添加到消费项目中.我现在正在寻求将其扩展到更真实的情况.
在我的例子中,我将有一个框架,我们分发给组织中的所有开发团队.这个框架有一个"核心"类库,然后是一组技术特定的库,如Acme.Web,Acme.Silverlight等.这些库中的每一个都引用了"核心"程序集.
我已经将每个这些程序集打包到它自己的NuGet包中,包括"core",它被设置为其他包中的依赖项.这是因为开发人员在创建类库时可能只选择引用"核心",但在创建Web应用程序时也需要这些类型等.
另一个想法是我可以发布我的"核心"程序集的新版本,而不需要更新所有其他程序包.或者我可以吗?
想象一下我有项目A的情况,添加NuGet包B,它依赖于NuGet包C,然后包C被更新.是否可以在不重建,重新包装和重新发布包B的情况下分发此更新?如果是这样,我是否需要采取任何措施来确保没有版本问题?
听起来你问的问题是,给定以下依赖图:
- >意思取决于
B 1.0 -> C 1.0
Run Code Online (Sandbox Code Playgroud)
如果恰好有C的更新,比方说C 1.1,你想知道你是否可以将该更新发布到C并让消费者更新它而不会破坏B.
我假设你在这里打包装配件.如果是这样,那么你绝对可以做到.NuGet做了一些事情来帮助使这个工作用于具有强名称的程序集(即它添加了必要的绑定重定向).您只需要确保使用正确的版本控制(我强烈建议您阅读David Ebbo 关于该主题的帖子).
让您基本了解这将如何工作.假设你是一个3人团队,你,开发人员1和2.
在上面的场景中,您将版本从C 1.0更改为C 1.0.1,并且不必重新发布B.
现在,如果你做了一个巨大的改变并将版本提升到C 2.0,那么也许你想考虑重新打包B并增加版本号并使该版本的B依赖于C 2.0:
B 2.0 -> C 2.0
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
240 次 |
| 最近记录: |