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

MSBuild NuGet.targets,NuGet.exe:无法从路径';读取包;等等,nupkg';错误,msbuild,teamcity,nuget,nuget-package,Msbuild,Teamcity,Nuget,Nuget Package,我在TeamCity中运行生成web项目的MSBuild生成步骤时遇到这些错误,并且我已将我的Nuget目标设置为指向本地Nuget服务器 e、 g.PackageSource Include=”http://mylocaldevurl/nuget/Packages“ 生成运行并产生表单错误 e、 g.Exec]F:\TeamCity\buildAgent\work\blahblah.nuget\nuget.targets(87,9):无法从路径“Lucene.Net.3.0.3.nupkg”读

我在TeamCity中运行生成web项目的MSBuild生成步骤时遇到这些错误,并且我已将我的Nuget目标设置为指向本地Nuget服务器 e、 g.PackageSource Include=”http://mylocaldevurl/nuget/Packages“

生成运行并产生表单错误 e、 g.Exec]F:\TeamCity\buildAgent\work\blahblah.nuget\nuget.targets(87,9):无法从路径“Lucene.Net.3.0.3.nupkg”读取包。

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

本地Nuget服务器包含my VS solution软件包(默认软件包文件夹中的软件包)的副本,其中仅包含.nupkg文件

我的问题是,在将.nupkg文件复制到该服务器时,我需要执行一些操作。我可能缺少一些操作


我已经仔细检查了本地服务器中是否存在包,我们通过为运行BuildAgent的用户更新NuGet配置文件来实现这一点,而不是设置包源,并且自NuGet v1.6以来,它工作正常

文件:c\Users\svc\u 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>


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

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

  • C:\Windows\System32\config\systemprofile\AppData\Local
  • C:\Windows\SysWOW64\config\systemprofile\AppData\Local

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

生成日志中显示的错误消息:

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

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

我可以看出有些地方出了问题,因为文件只有3KB,而在我自己的机器上超过1MB


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

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

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

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

  • 转到项目目录
  • 打开文件夹包
  • 查找出现错误的包(blah.nupkg)
  • 删除文件夹
  • 构建您的项目,您的项目将成功构建

  • 我刚刚从缓存中删除了有问题的包。真正理解这为什么能解决这个问题将是非常有趣的。编辑:事实上,我认为该软件包已损坏(磁盘上的工作软件包要大得多)