【问题标题】:Local Nuget server throwing Object reference error本地 Nuget 服务器抛出对象引用错误
【发布时间】:2017-01-24 16:50:51
【问题描述】:

我们有一个内部 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,我可以看到没有任何变化。

【问题讨论】:

  • 你使用 NuGet.Server 2.11.3 吗?

标签: nuget nuget-server


【解决方案1】:

我今天遇到了这个异常。修复结果如下:

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

我最初认为最近推送到服务器的某个包导致了这个异常,因为相同的设置已经运行了一段时间没有任何问题。

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

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

我希望这对某人有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-11
    • 1970-01-01
    • 2017-09-26
    • 1970-01-01
    • 1970-01-01
    • 2020-12-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多