【问题标题】:Developing two Nuget packages at the same time同时开发两个 Nuget 包
【发布时间】:2016-01-12 09:00:40
【问题描述】:

假设项目A 1.0 依赖于B 1.0(每个都是它自己的nuget 包)。我从源代码管理中获取这些项目,因此在包还原后A 1.0 有一个对B 1.0 的dll 引用。

我想同时开发AB,并根据B 2.0使用A 2.0发布到Nuget。

我该怎么做?

注意:我不能简单地将AB 添加到解决方案中,因为A 仍然会有一个dll 引用,并且不会在B 更新时更新。此外,手动将 dll 引用更改为项目引用并在发布之前将其更改回来似乎很费力(尤其是对于更多项目)。

编辑:AB 完全开发到 v2 之前,我不想发布到 Nuget 服务器。

【问题讨论】:

  • A 可能不会在 B 更新时准确更新,但是当您开发 A 2.0 时,您有一个 |B 2.0 依赖项 - 所以您可以获得 dll 引用(或者更确切地说,A 项目有一个 nuget 包B 2.0 的要求)
  • @Batavia 仅当您将 B 发布到 Nuget 服务器并且 A 在构建时执行包还原。但我不想在 A 和 B 都开发完成之前发布(我编辑了问题以添加此内容)。

标签: c# nuget project nuget-package-restore


【解决方案1】:

在开发 nuget 包时,您可以做的一件事是使用文件共享作为您自己的 nuget 服务器。你可以看这里https://docs.nuget.org/create/hosting-your-own-nuget-feeds如何从你的本地文件系统制作一个提要

然后你确保 B 的构建产生一个 nuget 包,并将它放在你自己的 c:\devenvironment\nugetsnapshot 目录中。

之后,您只需查看该目录中的 nuget 包,即可针对 B 的快照开发 A 而无需发布它。

或者,您可以创建自己的开发 nuget 服务器或将快照标记为 prerepeases,以便人们知道它们可能会被破坏

【讨论】:

  • 这是否需要将我的本地 Nuget 文件夹与 Nuget 服务器同步?例如。 A 也依赖于 C,但 C 不在我的本地 Nuget 文件夹中。
猜你喜欢
  • 2015-02-26
  • 1970-01-01
  • 1970-01-01
  • 2022-11-15
  • 1970-01-01
  • 2020-03-04
  • 1970-01-01
  • 1970-01-01
  • 2019-09-05
相关资源
最近更新 更多