Nuget和分布式版本控制(DVC)
-
08-10-2019 - |
题
我想知道是否可以使用nuget在版本控件中仅存储对所需软件包的引用(只有package.config并忽略包装夹文件夹)。
有没有办法告诉Nuget(重新)下载各种软件包中的所有引用软件包?或类似的东西可以放入构建脚本中。
更新:
似乎我不是唯一要求此功能的人: 查看此工作项目 (感谢Pheiberg的提示)
更新2:
Nuget现在具有此功能。看 使用nuget而无需提交包装来源控制 有关详细信息。剩下的就是将包装目录添加到.gitignore或VCS的某些等效物(/packages/
如果您将其放在存储库的根部并使用git)。
解决方案
我刚刚发现了有关NugetPowertools的信息: https://github.com/davidfowl/nugetpowertools
另请参阅: http://blog.davidebbo.com/2011/08/asy-way-way-to-set-up-nuget-to-restore.html
更新:Nuget 1.6现在支持Restore: http://docs.nuget.org/docs/release-notes/nuget-1.6
其他提示
我不知道你的第一个问题。
至于CI服务器会自动更新软件包,从理论上讲是可行的。您可以链接“列表包装”和“ Update-pakeAge”命令,并将每个软件包更新为最新版本。看到 命令参考 有关更多详细信息。
斯科特·古斯里(Scott Guthrie) 这么说 关于该主题:
“您可以将命令行选项与CI解决方案集成在一起,并在构建/CI过程的一部分中明确执行更新包装命令以提取更新。坦率地说,我不确定这对于我们正在谈论的情况是否有意义但是,由于通常您希望一些开发人员在将核心运行时依赖关系更新为新版本之前做出决定。Nupack的默认模型将使开发人员使用nupack安装库 - Nupack将自动检查包中的软件包和依赖项来源控制。这样一来,另一家开发人员(或CI服务器)就不需要再次使用Nupack - 他们可以同步他们的源并构建。但是,正如我之前提到的 - 如果您想明确进行更新作为CI过程的一部分,则可以。”
编辑:
评论后,我看到您要实现的目标。我发现 这个长线 在Nupack讨论中,有关该问题的列表。解决方案显然不会属于V1。我选择的CI中的自定义构建任务和存储库中的配置是我看到的唯一解决方案。请报告您的发现。你让我感兴趣。
目前有关于这个问题的讨论 菲尔·哈克(Phil Haack)的博客, ,他在哪里寻求有关如何解决这个问题的反馈。