【问题标题】:MSBuild NuGet.targets ,Nuget.exe : Unable to read package from path 'blah.nupkg' errorMSBuild NuGet.targets,Nuget.exe:无法从路径“blah.nupkg”错误读取包
【发布时间】:2013-08-14 10:24:02
【问题描述】:

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

构建运行并产生以下形式的错误 例如Exec] F:\TeamCity\buildAgent\work\blahblah.nuget\NuGet.targets(87, 9):无法从路径 'Lucene.Net.3.0.3.nupkg' 读取包。

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

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

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

我已经仔细检查了本地服务器中是否存在包

【问题讨论】:

    标签: msbuild teamcity nuget nuget-package


    【解决方案1】:

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

    【讨论】:

    • 我刚刚从缓存中删除了有问题的包。真正理解为什么这可以解决问题会非常有趣。编辑:实际上,我认为包已损坏(工作包在磁盘上要大得多)
    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

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

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

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

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

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

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

      【讨论】:

        【解决方案4】:

        我们通过为运行 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>
        

        【讨论】:

          【解决方案5】:

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

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

          【讨论】:

            【解决方案6】:

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

            1. 进入你的项目目录
            2. 打开文件夹包
            3. 查找出现错误的包 (blah.nupkg)
            4. 删除文件夹
            5. 构建您的项目,您的项目将成功构建

            【讨论】:

              猜你喜欢
              • 2012-12-08
              • 2020-03-02
              • 2020-01-02
              • 2022-11-20
              • 2017-04-30
              • 2015-11-17
              • 2020-06-10
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多