首页 文章

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

提问于
浏览
52

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

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

Update:

似乎我不是唯一一个请求此功能的人:See this work item(感谢PHeiberg提示)

Update 2:

NuGet现在内置了这个功能 . 有关详细信息,请参阅Using NuGet without committing packages to source control . 剩下的就是将packages目录添加到.gitignore或一些等效的VCS(如果你在存储库的根目录中使用git,那么_2715398将会发挥作用) .

3 回答

  • 19
  • 5

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

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

    Scott Guthrie says this关于这个主题:

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

    Edit:

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

  • 8

    目前正在Phil Haack's blog讨论这个问题,在那里他要求就如何解决这个问题提出反馈意见 .

相关问题