Nuget服务器有时找不到包

Nuget服务器有时找不到包,nuget,nuget-server,nuget-package-restore,Nuget,Nuget Server,Nuget Package Restore,我有自己的nuget存储库、托管的localy(nuget.server)和带有包还原构建步骤的Teamcity 有时,我会发现错误,比如 [12:10:06]Unable to find version '1.2.0-alfa00243' of package 'ReportsBase'. 看起来,这个包不存在,但它存在!我检查了Packages文件夹,检查了IIS的日志,发现了非常奇怪的行为。第一个请求-确定,找到包,第二个和第三个-未找到,然后找到 2014-12-09 08:08:27

我有自己的nuget存储库、托管的localy(nuget.server)和带有包还原构建步骤的Teamcity

有时,我会发现错误,比如

[12:10:06]Unable to find version '1.2.0-alfa00243' of package 'ReportsBase'.
看起来,这个包不存在,但它存在!我检查了Packages文件夹,检查了IIS的日志,发现了非常奇怪的行为。第一个请求-确定,找到包,第二个和第三个-未找到,然后找到

2014-12-09 08:08:27 192.168.123.101 GET/nuget/nuget/Packages(Id='ReportsBase',Version='1.2.0-alfa00243')-80 -192.168.121.188 NuGet+命令+行/2.8.50506.491+(Microsoft+Windows+NT+6.1.7601+Service+Pack+1) 2000 0 185

2014-12-09 08:10:06 192.168.123.101 GET/nuget/nuget/Packages(Id='ReportsBase',Version='1.2.0-alfa00243')-80 -192.168.121.104 NuGet+命令+行/2.8.50506.491+(Microsoft+Windows+NT+6.1.7601+Service+Pack+1) 404037870

2014-12-09 08:10:06 192.168.123.101 GET/nuget/nuget/Packages(Id='ReportsBase',Version='1.2.0-alfa00243')-80 -192.168.121.188 NuGet+命令+行/2.8.50506.491+(Microsoft+Windows+NT+6.1.7601+Service+Pack+1) 404047184

2014-12-09 08:10:11 192.168.123.101 GET/nuget/nuget/Packages(Id='ReportsBase',Version='1.2.0-alfa00243')-80 -192.168.121.104 NuGet+命令+行/2.8.50506.491+(Microsoft+Windows+NT+6.1.7601+Service+Pack+1)2000 381

这通常发生在刚刚添加的包中。(几秒钟前)


为什么会有这么奇怪的事情呢?

简单的NuGet.Server软件包不是为几个软件包设计的。它使用内存哈希表,并监视文件系统的更改。如果您有任何其他用途以外的琐碎,您需要得到一个真正的私人服务器。这些私有存储库还有易于设置和维护的优点

Inedo是目前最流行的prem NuGet服务器选择,但两者都有,也有选择

是目前为止云主机NuGet服务器最流行的选择,但可能还有其他选择


您也可以尝试启动NuGet.org的实例,但该实例从未被设计为用作私有包存储库。。。只有public NuGet.org用于私有包。

失败的请求具有不同的IP地址。地址解析为什么?NuGet软件包的来源是哪里?您是否在构建过程中创建新包(例如,对于Octopus deploy?),如果是这样,那么您应该在Team City构建步骤中创建一个依赖项,以等待版本发布到NuGet存储库。我已经调试了NuGet服务器,并且可能找到了原因。我的repo中大约有8k个包,每次推送新包缓存后都会重新创建。有时会推送5-10个包,缓存会重新创建5-10次。这可能需要相当长的时间,并且可能在超时的情况下发生404错误。所以,我已经通过安装Nuget Gallery而不是NugetServer解决了这个问题,一切正常。