【问题标题】:Visual Studio + nuget + TFS: checking in nuget packages?Visual Studio + nuget + TFS:签入 nuget 包?
【发布时间】:2014-06-25 21:43:47
【问题描述】:

我正在与一个小团队一起开展 TFS 项目。这个项目安装了一堆 nuget 包,但它是用于 4.0 项目的,并且 nuget 包管理器 GUI 甚至不再提供旧版本的包,因为现在正在使用它们的 4.5 等效版本。为了允许其他团队成员编译项目,他们需要拥有包的确切版本。我想检查 nuget 使用的整个“包”文件夹。这是一个好主意吗?如果是这样,如何检查“包”文件夹及其所有内容,因为它存在于解决方案级别? Visual Studio 中没有“包含在解决方案中”选项,就像右键单击程序集时一样。

【问题讨论】:

  • nuget 包管理器应该下载旧包,只要它存在于服务器上。据我所知,如果至少有 1 次下载,则不允许您从 nuget 服务器中删除包。

标签: visual-studio tfs nuget


【解决方案1】:

我们使用本地 TFS 安装,无法访问 Internet,因此我们必须检查我们的包文件夹,否则我们的构建会失败。最大的问题是 VS 在为新的包文件添加挂起更改时表现不一致,通常它会忽略挂起更改窗口中的 .dll 文件,有时它会添加一切正常。

【讨论】:

    【解决方案2】:

    过去我也将 NuGet 包签入到版本控制中。随之出现了一些问题:

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

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

    NuGet 2.7 提出了一个更好的解决方案。它介绍了package restore。使用包还原,无需签入包文件夹。它们将在构建期间恢复。

    【讨论】:

      猜你喜欢
      • 2014-06-30
      • 1970-01-01
      • 2016-06-25
      • 1970-01-01
      • 2020-08-17
      • 2016-09-02
      • 2021-05-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多