11

在运行在 TeamCity 中构建 Web 项目的 MSBuild 构建步骤时出现这些错误,并且我已将Nuget 目标文件 PackageSource 设置为指向本地 Nuget 服务器,例如 PackageSource Include="http://mylocaldevurl/nuget/Packages" 。

构建运行并产生格式错误,例如 Exec] F:\TeamCity\buildAgent\work\blahblah.nuget\NuGet.targets(87, 9): Unable to read package from path 'Lucene.Net.3.0.3.nupkg '。

奇怪的是,其他包被很好地下载到 TeamCity 工作文件夹 -包文件夹。

本地 Nuget 服务器包含我的 VS 解决方案包(默认包文件夹中的那些)的副本,其中只有 .nupkg 文件。

我的问题是将 .nupkg 文件复制到该服务器时需要做些什么。我可能会遗漏一些东西。

我已经加倍检查包是否存在于本地服务器中

4

6 回答 6

15

我在使用 TFS 时遇到了同样的问题。我所做的修复是清除正在运行构建的用户配置文件中的 nuget 缓存(%LocalAppData%\NuGet\Cache)。我只是清空了目录并再次运行构建,然后它工作了。

于 2014-01-22T17:25:47.063 回答
6

如果您的 TeamCity 在系统用户帐户下运行,那么您可以尝试清除位于以下文件夹之一中的 Nuget Cache:

  • C:\Windows\System32\config\systemprofile\AppData\Local
  • C:\Windows\SysWOW64\config\systemprofile\AppData\Local
于 2015-05-15T07:43:42.833 回答
4

在我的例子中,用于运行构建代理的服务帐户通过我们的 WebSense 代理限制了对 Internet 的访问。

我在构建日志中收到的错误消息:

无法从路径“EntityFramework.5.0.0.nupkg”读取包。

我导航到构建代理用户的缓存文件夹(C:\Users\{BuildAgentUser}\AppData\Local\NuGet\Cache)并在那里找到导致错误的 .nupkg 文件。

我可以看到有问题,因为文件只有 3KB,而在我自己的机器上它超过 1MB。

查看 .nupkg 文件的内容发现了问题 - 下载已被 WebSense 阻止,并且它实际上包含在 Web 浏览器中浏览时会显示的错误消息。

于 2015-08-17T10:12:12.187 回答
0

我们通过为运行 BuildAgent 的用户更新 NuGet 配置文件来做到这一点,而不是设置包源,并且自 NuGet v1.6 以来它运行良好。

文件:c\Users\svc_teamcity\AppData\Roaming\NuGet\NuGet.config

好像:

<activePackageSource>
  <add key="NuGet official package source" value="https://nuget.org/api/v2/" />
  <add key="MyNuGetGallery" value="D:\NuGet.Packages" />
</activePackageSource>
于 2013-10-02T15:28:06.650 回答
0

我有同样的问题,但在一个mac上。我所做的只是删除导致问题的一个 nuget 包。它位于:

/Users/yourusername/.local/share/NuGet/Cache
于 2016-07-22T20:23:20.933 回答
0

我知道这是一个老问题,我最近遇到过这个问题,上面提供的解决方案都没有解决我的问题。错误的原因是,其中一个包已损坏,.nupkg 文件大小为 0 kb。我所做的是前面的步骤,这解决了我的问题,我能够重新安装软件包。

  1. 转到您的项目目录
  2. 打开文件夹包
  3. 查找出现错误的包 (blah.nupkg)
  4. 删除文件夹
  5. 构建您的项目,您的项目将成功构建
于 2016-12-17T08:02:01.010 回答