FluentValidation 6.4.0-beta* Nuget 包还原失败,操作超时

FluentValidation 6.4.0-beta* Nuget Package restore failed, operation timed out

我试图将 FluentValidation 添加到我的 asp.net 核心项目中。 本来我想用Nuget FluentValidation.AspNetCore/6.4.0-beta9 and this pakage depends on Nuget FluentValidation/6.4.0-beta9。所以我将 FluentValidation 添加到 project.json。

{
  "dependencies": {
    "Microsoft.NETCore.App": {
      "version": "1.0.1",
      "type": "platform"
    },
    "Microsoft.AspNetCore.Mvc": "1.0.1",
    "Microsoft.AspNetCore.Routing": "1.0.1",
    "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0",
    "Microsoft.AspNetCore.Server.Kestrel": "1.0.1",
    "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0",
    "Microsoft.Extensions.Configuration.FileExtensions": "1.0.0",
    "Microsoft.Extensions.Configuration.Json": "1.0.0",
    "Microsoft.Extensions.Logging": "1.0.0",
    "Microsoft.Extensions.Logging.Console": "1.0.0",
    "Microsoft.Extensions.Logging.Debug": "1.0.0",
    "Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0",
    ...,
    "FluentValidation": "6.4.0-beta9"
  },
  ....
}

这会导致包恢复失败的消息和以下输出。

log  : Restoring packages for C:\Users\asdf\devel\BTnetCorePoc\NcCqrsPoc\src\NcCqrsPos.Web.Commands\project.json...
log  : Retrying 'FindPackagesByIdAsyncCore' for source 'http://10.0.10.49/NugetServer/nuget_error/FindPackagesById()?id='FluentValidation''.
log  : An error occurred while sending the request.
log  :   The operation timed out
log  : Retrying 'FindPackagesByIdAsyncCore' for source 'http://10.0.10.49/NugetServer/nuget_error/FindPackagesById()?id='System.Text.RegularExpressions''.
log  : An error occurred while sending the request.
log  :   The operation timed out
....
error: Failed to retrieve information from remote source 'http://10.0.10.49/NugetServer/nuget_error/FindPackagesById()?id='FluentValidation''.
error: An error occurred while sending the request.
error: Failed to retrieve information from remote source 'http://10.0.10.49/NugetServer/nuget_error/FindPackagesById()?id='System.Text.RegularExpressions''.
error: An error occurred while sending the request.

所以它会导致任何类型的超时,我不太了解 nuget 包发布的工作原理。超时在我看来有一个服务器不可用或类似的东西,但上面链接的 nuget 包页面运行良好(但我认为这只是一个索引页面)。那个 ip 10.0.10.49 似乎是用于恢复包的奇怪 ip。我是否可能在 vs Studio 中错误配置了任何 nuget 源路径? (这让我在写这个问题时想到了,我稍后会检查)

要使用FluentValidation.AspNetCore,我至少需要 FluentValidation 6.4.0-beta1 版本。所以我尝试了最多的版本
FluentValidation 6.4.0-beta1 FluentValidation 6.4.0-beta9 (我的目标)
并且每次尝试都失败并出现相同的超时错误(因为超时需要几分钟,我不知道如何硬停止,恢复过程)

在那之后,我尝试恢复我无法使用的 FluentValidation 的早期版本(FluentValidation.AspNetCore 至少需要 FluentValiedation 6.4.0-beta1),我检查了是否nuget restore 适用于较旧且稳定的 FluentValidation。我尝试了以下版本:

FluentValidation 6.2.1 (最新稳定版) FluentValidation 6.2.1-beta1
FluentValidation 6.3.3-alpha
FluentValidation 6.3.4-alpha

恢复这些版本效果很好,所以我认为错误不可能是我机器上配置错误的 VS。那么问题可能出在哪里呢?我的下一步应该是什么?之后我创建了一个 FluentValidation Github Repo Issue

就像 JeremySkinner 在 FluentValidation Github Issue 中建议的那样。我删除了额外配置的包源,在 VS2015 中配置(工具->选项->Nuget Packager Manager->Packager Sources: deactivate my addidional custom 10.0.10.49/NugetServer->OK)
现在尝试恢复 FluentValidation 6.4.0-beta9 效果很好

所以有一个奇怪的行为,我无法弄清楚为什么在定义额外的包源时会发生这个问题。我只是记住这一点。我不需要那个额外的包源,所以只要停用它,就可以解决这个问题。