【问题标题】:Nuget package not extracted on TFS Build在 TFS 构建上未提取 Nuget 包
【发布时间】:2017-10-16 16:28:34
【问题描述】:

我正在尝试在 TFS2015 中设置自动构建。目标是在签入时自动构建和测试解决方案,如果一切顺利,则创建一个新的 Nuget 包并将其放置在本地存储库中。

这个过程适用于我的第一个解决方案,它是一个没有依赖关系的简单项目。然后,从该项目创建的 Nuget 包被第二个项目用作依赖项。

这在 Visual Studio 中构建时可以正常工作。包被正常下载和解压。但是,当我将第二个项目签入 TFS 时,自动构建无法正确处理此包。包从本地存储库中恢复,但未解压缩。这意味着构建失败,因为它找不到它需要的实际 DLL。

我也在项目中使用 EntityFramework,它工作正常。软件包已下载,但随后也被提取。

我已经尝试过question 中给出的解决方法,但 TFS 服务器没有 C:\Users.nuget\packages 文件夹。

我也尝试使用命令here 清除 Nuget 缓存,但同样没有帮助。

如果我手动提取自动构建下载的 Nuget 包,然后再次运行构建,它可以工作,这表明问题不在于包本身?

Nuget.exe 版本为 3.5。 .Net 版本是 4.5 标准。包在 packages.config 和项目引用中引用。 Nuget.exe 正在用于还原。

知道为什么没有提取本地包吗?

【问题讨论】:

  • 你用的是什么项目?经典 .net、.net 核心/标准(>“SDK”-项目)。 packages.config 还是 ProjectReference?你是用nuget.exe来恢复的吗?
  • .Net 版本是 4.5 标准。包在 packages.config 和项目引用中引用。 Nuget.exe 正在用于还原。
  • 当您删除解决方案本地包文件夹时,它是否可以在您的计算机上运行?我怀疑 packages.config 中缺少包引用,并且可能偶然在您的开发机器上工作。
  • 我删除了解决方案包文件夹并重建,它在本地正确下载和提取。我在构建服务器上做了同样的事情,它在那里下载了包但没有提取它

标签: tfs nuget nuget-package-restore


【解决方案1】:

结果是我不小心签入了这个项目中的包文件夹,所以看起来来自我本地 Nuget 文件夹的内容实际上只是从项目中的包文件夹中复制出来的.

从 TFS 中删除 packages 文件夹解决了该问题。

仍然不确定为什么它在任何情况下都没有提取包但问题解决了。

【讨论】:

  • 明天我才能做到
猜你喜欢
  • 2021-07-04
  • 1970-01-01
  • 1970-01-01
  • 2015-12-02
  • 2016-07-11
  • 2020-10-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多