本地Nuget服务器抛出Object引用错误

时间:2017-01-24 16:50:51

标签: nuget nuget-server

我们有一个内部Nuget服务器,当通过visual studio搜索包时,它已经开始抛出以下错误:

[NullReferenceException: Object reference not set to an instance of an object.]
NuGet.PackageEqualityComparer.<.cctor>b__1(IPackageName x) +62
System.Collections.Generic.HashSet`1.InternalGetHashCode(T item) +84
System.Collections.Generic.HashSet`1.AddIfNotPresent(T value) +54
NuGet.CollectionExtensions.AddRange(ICollection`1 collection, IEnumerable`1   items) +184
NuGet.Server.Infrastructure.ServerPackageStore.Load() +398
NuGet.Server.Infrastructure.ServerPackageRepository..ctor(String path, IHashProvider 
     hashProvider, ILogger logger) +298
NuGet.Server.DefaultServiceResolver..ctor() +145
NuGet.Server.DataServices.NuGetRoutes.Start() +31

这会和任何人敲响吗?我检查了作为Nuget主机的机器上的nuget.config和web.config,没有任何改变,我可以看到。

1 个答案:

答案 0 :(得分:0)

我今天遇到了这个例外。修复结束如下:

  • 将“Packages”文件夹(我使用默认的packagesPath配置)重命名为其他内容
  • 此后服务器开始响应(当然没有包)
  • 然后我将所有nuget pacakges的原始文件夹重新命名为“Packages”
  • 服务器能够使用所有软件包正常响应

我最初认为最近被推送到服务器的一些软件包导致了这个异常,因为相同的设置一直没有任何问题。

但是,当我将整个文件夹(包括所有软件包)复制到本地计算机并在IIS上设置新网页时,它工作正常,我能够正常使用网站(查看软件包等)。因此,这似乎表明托管此网页的实际服务器设置存在一些问题,而不是与NuGet软件包相关的任何问题。

根据修复错误的步骤,错误似乎与某些缓存在某处的数据有关。

我希望这有助于某人。