我在运行在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文件复制到该服务器时,我需要做些什么。我可能会遗漏一些东西。
我已经加倍检查过本地服务器中存在的软件包
答案 0 :(得分:15)
我使用TFS遇到了同样的问题。我做了什么修复它很清楚运行构建的用户配置文件中的nuget缓存(%LocalAppData%\ NuGet \ Cache)。我只是清空了目录并再次运行构建,然后就可以了。
答案 1 :(得分:6)
如果您的TeamCity在系统用户帐户下运行,那么您可以尝试清除位于以下其中一个文件夹中的Nuget Cache:
答案 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。我所做的是前面的步骤,这解决了我的问题,我能够重新安装包。