Visual Studio + NuGet + TFS:如何提交NuGet包?

9
我正在与一个小团队共同开发TFS项目。该项目安装了一堆nuget包,但它是针对4.0项目的,由于现在使用的是它们的4.5等效版本,因此nuget包管理器GUI甚至不再提供旧版本的包。为了让其他团队成员编译该项目,他们需要具有完全相同的包版本。我想检入nuget使用的整个“packages”文件夹。这是个好主意吗?如果是,如何检入“packages”文件夹及其所有内容,因为它存在于解决方案级别?在Visual Studio中没有“包含在解决方案中”的选项,就像右键单击程序集时那样。

1
NuGet包管理器应该在服务器上存在旧包的情况下下载它。据我所知,如果NuGet服务器上的包至少被下载了1次,则不允许删除该包。 - Lasse V. Karlsen
2个回答

1
我们使用一个没有网络访问权限的本地 TFS 安装,因此必须将软件包文件夹签入,否则构建将失败。最大的问题是,当涉及到添加新软件包文件的待处理更改时,VS 的行为不一致,经常会忽略待处理更改窗口中的 .dll 文件,有时则可以正常添加所有内容。

1

过去我也曾将NuGet包提交到版本控制中。但是出现了一些问题:

  1. 在从Visual Studio提交到TFS时,某些包未提交到版本控制中。
  2. 更新包成为了一个真正的问题。

对于第一个问题,我使用了TFS Power Tools。但这种解决方案的问题在于每个开发人员都需要安装Power Tools。

NuGet 2.7提出了更好的解决方案——package restore。使用包恢复功能,无需将包文件夹检入,它们会在构建过程中自动还原。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接