0

我有自己的 nuget 存储库、托管本地 (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+Command+Line/2.8 .50506.491+(微软+Windows+NT+6.1.7601+Service+Pack+1) 200 0 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+Command+Line/2.8 .50506.491+(Microsoft+Windows+NT+6.1.7601+Service+Pack+1) 404 0 0 37870

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+Command+Line/2.8 .50506.491+(Microsoft+Windows+NT+6.1.7601+Service+Pack+1) 404 0 0 47184

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+Command+Line/2.8 .50506.491+(微软+Windows+NT+6.1.7601+Service+Pack+1) 200 0 0 381

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

发生如此奇怪的事情的原因是什么?

4

1 回答 1

2

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

Inedo 的ProGet是迄今为止最受欢迎的本地 NuGet 服务器选择,但JFrogSonatype也有选择。

MyGet是迄今为止云托管 NuGet 服务器最受欢迎的选择,但可能还有其他选择。

您也可以尝试启动 NuGet.org 的一个实例,但它从未设计为用作私有包存储库……只是用于私有包公共 NuGet.org。

于 2015-02-04T15:09:31.170 回答