【问题标题】:Enabling Nuget Package Restore and Source Control启用 Nuget 包还原和源代码控制
【发布时间】:2015-04-26 09:15:58
【问题描述】:

我正在尝试移动我的解决方案以利用 NuGet 包还原,以便我可以将 packages 文件夹排除在源代码管理之外。但是,我对如何正确实施它有些困惑。

  1. 我目前在 TFS 中有 packages 文件夹,我应该在提交 NuGet 包还原更改之前将其删除吗?
  2. 我需要将.nuget 文件夹提交到源代码管理吗? This 文章告诉我要删除 .NuGet.exeNuGet.targets
  3. 使用 NuGet Package Restore 会破坏 TFS 中的构建吗? (比如门控签到)

【问题讨论】:

    标签: visual-studio-2013 tfs nuget tfsbuild nuget-package-restore


    【解决方案1】:
    1. 是的。
    2. 更好的选择是使用Package Restore Migration 脚本。我已经用过好几次了,效果很好。它将删除 NuGet.exe、NuGet.targets,并且(非常重要地)清理您的项目文件以删除对 NuGet.targets 文件的引用。如果您只是删除 NuGet.targets,它将破坏您的构建。
    3. 如果您按照链接非常紧密的文章中概述的步骤进行操作,NuGet 包还原不应破坏任何构建。当然,您的构建服务器需要访问 Internet 才能访问 nuget.org。如果您的构建服务器被锁定并且无法访问 Internet,则包还原肯定不起作用。

    确保在运行包还原迁移脚本之前关闭 Visual Studio...我发现如果在解决方案打开的情况下运行脚本,它将无法正常工作。

    如果您使用的是 Git,请将包文件夹添加到您的 .gitignore。 如果您使用的是 TFVC,请确保您的 NuGet.config 文件将 disableSourceControlIntegration 键设置为 true

    【讨论】:

    【解决方案2】:

    从 Visual Studio 2013 更新 3 开始,Nuget 包还原是默认设置,不需要启用。

    如果您删除 /packages 文件夹并签入,它应该会自动填充,无需额外工作。

    是:删除 nuget.targets 和 .nuget 文件夹。

    【讨论】:

      猜你喜欢
      • 2011-12-17
      • 1970-01-01
      • 1970-01-01
      • 2015-11-27
      • 2016-10-07
      • 1970-01-01
      • 2013-06-13
      • 2013-06-13
      • 1970-01-01
      相关资源
      最近更新 更多