NuGet和分布式版本控制(DVCS)

Fio*_*onn 52 git version-control dvcs nuget

我想知道是否可以使用nuget仅存储对版本控制中所需包的引用(仅限package.config并忽略packages文件夹).

有没有办法告诉nuget(重新)下载各种package.config文件中的所有引用的包?或类似的东西可以放入构建脚本.

更新:

似乎我不是唯一一个请求此功能的人:请参阅此工作项(感谢PHeiberg的提示)

更新2:

NuGet现在内置了这个功能.有关详细信息,请参阅使用NuGet而不将包提交到源代码管理.剩下的就是将packages目录添加到.gitignore或一些等效的VCS(/packages/如果你在存储库的根目录中使用它并使用git,它将会发挥作用).

PHe*_*erg 8

我不知道你的第一个问题.

至于让CI服务器自动更新包,理论上它是可行的.您可以链接"List-Package -Installed"和"Update-Package"命令,并将每个包更新到最新版本.有关详细信息,请参阅命令参考.

Scott Guthrie 在这个话题上:

"您可以将命令行选项与CI解决方案集成,并在构建/ CI过程中明确执行update-package命令以下拉更新.坦率地说,我不确定这对我们所讨论的场景是否有意义但是,通常你需要一些开发人员在将核心运行时依赖项更新到新版本之前做出决定.NuPack的默认模型会让开发人员使用NuPack来安装库 - 而NuPack会自动检查包和依赖关系来源控件.这样另一个开发人员(或CI服务器)就不需要再次使用NuPack了 - 他们可以同步他们的源代码和构建.但正如我之前提到的 - 如果你想明确地做一个更新作为你的CI过程的一部分你可以".

编辑:

在您发表评论之后,我会看到您正在努力实现的目标.我在NuPack讨论列表中找到了关于该问题的这个长线程.解决方案显然不是v1的一部分.您选择的CI中的自定义构建任务和回购中的配置是我看到的唯一解决方案.请报告您的调查结果.你让我感兴趣


Dav*_*ite 5

目前正在Phil Haack的博客上讨论这个问题,他在那里询问有关如何解决这个问题的反馈.