启用Nuget包还原和源代码管理

时间:2015-02-24 16:27:13

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

我正在尝试移动我的解决方案以利用NuGet Package Restore,以便我可以将packages文件夹保留在源代码管理之外。但是我对如何正确实现它感到困惑。

  1. 我目前在TFS中有packages文件夹,我应该在提交NuGet Package Restore的更改之前将其删除吗?
  2. 我是否需要将.nuget文件夹提交给源代码管理? This文章告诉我也要删除.NuGet.exeNuGet.targets
  3. 在TFS中使用NuGet Package Restore中断构建吗? (比如门禁办理登机手续)

2 个答案:

答案 0 :(得分:2)

  1. 更好的选择是使用Package Restore Migration脚本。我已经使用了好几次,效果很好。它将删除NuGet.exe,NuGet.targets,并且(非常重要的是)清理项目文件以删除对NuGet.targets文件的引用。如果您只是删除NuGet.targets,它将破坏您的构建。
  2. 如果您按照您非常密切关联的文章中列出的步骤,NuGet包还原不应该破坏任何构建。当然,您的构建服务器需要访问互联网才能访问nuget.org。如果构建服务器被锁定且无法访问Internet,则程序包还原肯定不起作用。
  3. 确保在运行程序包还原迁移脚本之前关闭Visual Studio ...我发现如果在解决方案打开的情况下运行脚本,它将无法正常运行。

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

答案 1 :(得分:1)

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

如果删除/ packages文件夹并签入,则只需自动填充,无需额外的工作。

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