MSBuild NuGet.targets,Nuget.exe:无法从路径'blah.nupkg'读取包错误

时间:2013-08-14 10:24:03

标签: msbuild teamcity nuget nuget-package

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

构建运行并产生表单错误 例如执行] F:\ TeamCity \ buildAgent \ work \ blahblah.nuget \ NuGet.targets(87,9):无法从路径'Lucene.Net.3.0.3.nupkg'中读取包。 < / p>

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

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

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

我已经加倍检查过本地服务器中存在的软件包

6 个答案:

答案 0 :(得分:15)

我使用TFS遇到了同样的问题。我做了什么修复它很清楚运行构建的用户配置文件中的nuget缓存(%LocalAppData%\ NuGet \ Cache)。我只是清空了目录并再次运行构建,然后就可以了。

答案 1 :(得分:6)

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

  • C:\的Windows \ system32 \设置\ systemprofile \应用程序数据\本地
  • C:\的Windows \ Syswow64资料\配置\ systemprofile \应用程序数据\本地

答案 2 :(得分:3)

就我而言,用于运行构建代理的服务帐户限制了通过我们的WebSense代理访问Internet的权限。

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

  

无法从路径'EntityFramework.5.0.0.nupkg'中读取包。

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

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

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

答案 3 :(得分: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>

答案 4 :(得分:0)

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

/Users/yourusername/.local/share/NuGet/Cache

答案 5 :(得分:0)

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

  1. 转到您的项目目录
  2. 打开文件夹包
  3. 找到您遇到错误的包(blah.nupkg)
  4. 删除文件夹
  5. 构建项目,您的项目将成功构建