【问题标题】:Must I still keep my 3rd party library binaries in source control?我还必须将我的 3rd 方库二进制文件保存在源代码管理中吗?
【发布时间】:2010-12-16 12:40:48
【问题描述】:

现在我正在使用 NuGet 添加/更新我所需的引用,是否可以只将 packages.config 添加到源代码管理并在构建时添加 .dll?

通常,如this related question 中所述,我将第三方依赖项存储在解决方案根目录下的文件夹中,并将它们签入源代码管理。

我们目前没有使用任何自定义构建工具或脚本:只是 VisualStudio 使用 .sln 文件的默认构建。

【问题讨论】:

标签: svn version-control nuget


【解决方案1】:

是的,你可以! http://docs.nuget.org/docs/workflows/using-nuget-without-committing-packages

当前的 NuGet 工作流一直是将 Packages 文件夹提交到源代码管理中。原因是它符合开发人员在没有 NuGet 时通常会做的事情:他们创建一个“Lib”或“ExternalDependencies”文件夹,将二进制文件转储到那里并将它们提交到源代码管理以允许其他人进行构建。

虽然这对某些用户来说效果很好,但我们也从许多用户那里听说,将包提交到源代码管理中并不是他们想要做的。当使用像 Mercurial 或 Git 这样的 DVCS 时,提交二进制文件会随着时间的推移疯狂地增加存储库的大小,从而使克隆变得越来越痛苦。事实上,这一直是我们的问题跟踪器 NuGet 上的最高请求之一。

好消息是,NuGet 现在提供了一个工作流程,可以大大解决这个问题。它还不是 100% 自动化的,但是您可以通过一些最小的痛苦来设置您的项目来执行此操作...

【讨论】:

  • 谢谢。没想到有这么大的争论。
  • 从 NuGet 1.1 开始,您无法执行此操作,但我们正在考虑为 NuGet 1.2 或 1.3 执行此操作。
  • 感谢更新;我今天刚要更新到1.1,先来看看我的问题。
猜你喜欢
  • 2016-11-16
  • 2013-01-26
  • 2016-08-21
  • 2012-07-04
  • 2012-11-27
  • 1970-01-01
  • 2012-05-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多