【问题标题】:NuGet adds Packages folder to the solution. Should it be part of Source control?NuGet 将 Packages 文件夹添加到解决方案中。它应该是源代码控制的一部分吗?
【发布时间】:2014-06-22 03:31:55
【问题描述】:

我正在使用 NuGet 将包添加到我的解决方案中。 NuGet 将 Packages 文件夹添加到我的 Visual Studio 的解决方案根文件夹中。相关的部分是“包”文件夹不是源代码控制的一部分。这意味着源代码来自 TFS,但项目引用来自外部源提供的文件夹。人们可以将恶意代码放在包文件夹中并构建应用程序。

我想了解其他从 TFS 源代码管理中获取源代码的同事如何在包文件夹不属于源代码管理的情况下构建项目?

【问题讨论】:

  • 与论坛网站不同,我们不使用“谢谢”、“任何帮助表示赞赏”或Stack Overflow 上的签名。请参阅“Should 'Hi', 'thanks,' taglines, and salutations be removed from posts?.
  • @JohnSaunders:如果有发表的 StackExchnage 道德和最佳实践文章来防止此类混淆,效果会更好。在其他一些论坛或文化中,在没有适当问候和“谢谢”的情况下提问可能会被视为粗鲁和苛刻的帖子。老实说,我认为许多 StackExchnage 用户可能不会像你自己那样思考,并且会以一种糟糕的方式来回答这个问题。此外,这是一个国际和多元文化的社交网站和基本的问候语,“谢谢”是请人们帮忙回答问题的最安全方式。
  • 这就是我包含链接的原因。阅读并自己决定。
  • @JohnSaunders:我完全同意这种方法。我赞同它,因为它有助于搜索引擎。我所说的只是在 Meta 论坛上发帖是不够的。应该有一个机制让读者知道我们只是遵循一个好的做法,我们没有不礼貌或类似的东西。我喜欢某些帖子显示“帖子已关闭,因为它重复”或“此姿势可防止垃圾邮件”的方式。我们可以在帖子中添加类似的消息吗?它可以帮助每个人(读者和海报)采纳这个好主意。
  • 继续阅读元讨论。您会发现大多数用户不会阅读任何内容。事实上,如果您有想法,请在 meta 上提出。

标签: tfs nuget


【解决方案1】:

NuGet 支持automatic package restoration,因此使用此功能的同事将自动下载所需的包。 nuget.org 上有一项政策,该政策禁止用户在发布包后删除或更新包的确切版本,因此它可以支持包还原而不会出现任何中断 - see this answer for more detail。如果您使用的是 nuget.org 以外的其他包源,则应检查他们的包删除/更新政策,因为它可能会有所不同。

【讨论】:

    【解决方案2】:

    我们确实遇到了类似的问题,我们的构建服务器不允许连接互联网,因此无法下载软件包。我们从创建自己的 NuGet 源开始,它只是一个共享文件夹,所有包都复制到其中。 Visual Studio 项目当然会使用这些包而不是 www.nuget.org 上托管的包

    我必须说,我们放弃了这个想法,因为随着我们的包使用量增加,这样做会产生开销。

    我的建议是,如果您担心在构建时下载的包,请将包文件夹存储在源代码管理中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多