【问题标题】:Error at installing package Swashbuckle/swagger in Visual Studio 2012在 Visual Studio 2012 中安装包 Swashbuckle/swagger 时出错
【发布时间】:2020-11-12 14:28:57
【问题描述】:

我正在关注安装“Swashbuckle”或 Swagger 以创建 C# Web API 文档的教程。

我正在使用 Visual Studio 2012 执行此任务,但是,当我在 NuGet 包管理器控制台中执行以下命令时:

Install-Package Swashbuckle

我收到此错误:

Install-Package:底层连接已关闭:发送时发生意外错误。在 line:1 char:16

  • 安装包
  • CategoryInfo : NotSpecified: (:) [Install-Package], WebException
  • FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PowerShell.Commands.InstallPackageCommand

我试过了:

  • 卸载并安装 NuGet 包管理器 - 它带有“此扩展已安装”的标志。

  • 按照here 显示的步骤启用 TLS1/TLS2 - Stack Overflow 中的一些问题和答案指出,此错误是由于 TLS 中的这些更改...

  • 从这个 URL 下载“nuget.exe”:https://dist.nuget.org/win-x86-commandline/latest/nuget.exe 并使用这个程序下载包,但是,它没有安装在项目中,而是安装在 Downloads 文件夹中- 为此,我认为问题不在于我正在处理的公司代理...

  • 我按照here 中提到的步骤在“nuget.config”文件中设置代理设置,但是结果是一样的。

  • 使用“https://www.nuget.org/api/v2/”和“https://api.nuget.org/v3/index.json”作为包源,但是,第一个 URL 显示错误:

    底层连接已关闭:发送时发生意外错误

    第二个 URL 继续执行。

  • 关闭并重新打开 Visual Studio 的所有实例(2 个打开的实例)。

在我正在处理的解决方案中是否有更多选项可以安装 NuGet 包?

【问题讨论】:

  • 请尝试在Package Manager Console下运行[Net.ServicePointManager]::SecurityProtocol=[Net.ServicePointManager]::SecurityProtocol-bOR [Net.SecurityProtocolType]::Tls12,然后重新安装包。
  • 如果有帮助,请告诉我们。
  • @PerryQian-MSFT 感谢您的回答。我试过了,它正在下载某些 dll - 看来我的项目有一些依赖问题Successfully installed 'WebActivatorEx 2.0.6'.,它正在下载和安装这样的 dll。请发表您的评论作为答案,我会接受。谢谢。
  • 当然。很高兴知道这对您有用。我已将其添加为答案,您可以检查一下:)

标签: c# visual-studio visual-studio-2012 nuget


【解决方案1】:

在 Visual Studio 2012 中安装包 Swashbuckle/swagger 时出错

对于您的问题,由于旧的 VS2012 使用了 TLS 1.0 而最新的 nuget cli 不支持它。你应该使用 TLS 1.2

解决方案

请跑

[Net.ServicePointManager]::SecurityProtocol=[Net.ServicePointManager]::SecurityProtocol-bOR [Net.SecurityProtocolType]::Tls12 

Package Manager Console下(在TOOLS-->Nuget Package Manager下)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-25
    • 2017-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多