NuGetパッケージの展開に失敗しました

This article was translated from English: Does it need improvement?
Translated
View the article in English

NuGetパッケージをデプロイしようとすると、次のエラーメッセージのいずれかが表示される場合があります:

Failed to deploy NuGet package '_IronPdf.Native.Chrome.Windows(version)'
System.Net.WebException: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
System.Net.WebException: The underlying connection was closed: An unexpected error occurred on a send.
System.IO.IOException: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host.
System.Net.Sockets.SocketException: An existing connection was forcibly closed by the remote host

考えられる原因

これらのエラーの最も一般的な原因は、古いTLSプロトコルに関連しています。 2020年6月15日現在、 NuGetはTLS 1.0および1.1のサポートを廃止しました。そして、現在TLS 1.2が強制されています。システムでTLS 1.2が有効化されていない場合、NuGet コマンドが失敗する可能性があります。

HTTPからHTTPSに切り替えても、TLS 1.2が有効になっていない場合、問題は解決しません。NuGetは現在、安全な接続を求めています。

ソリューション

  1. Visual C++ ランタイムのインストール

    確保する Visual Studio 用 Visual C++ 再頒布可能パッケージ がインストールされています。 不足しているランタイムは、IronPDFを含む特定のパッケージに問題を引き起こす可能性があります。

  2. Visual Studio を更新

    最新のバージョンのVisual Studioを使用していることを確認してください。 Visual Studio 2015 以上が最新のTLSプロトコルを適切にサポートするために必要です。

    1. Visual Studio で、次の場所へ移動してください:

      • ツール > 拡張機能と更新プログラム > 更新 > Visual Studio ギャラリー

      • NuGetパッケージマネージャーを最新バージョンに更新してください。
  3. .NETで強力な暗号化を有効化する:

    上記の手順で問題が解決しない場合、.NETで強力な暗号化を有効にする必要があるかもしれません。 これはレジストリを変更することで可能です。

    1. 以下の内容で .reg ファイルを作成してください:
        [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319]
        "SchUseStrongCrypto"=dword:00000001

        [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319]
        "SchUseStrongCrypto"=dword:00000001
  1. .regファイルを実行して、レジストリ設定を更新します。 これにより、.NETで強力な暗号化が可能になり、TLS 1.2接続が可能になります。

    再起動は不要です。 これらの変更を適用した後、NuGetコマンドを再実行してください。

    詳細については、このStack Overflowの投稿を参照してください: NuGet エラー: 基本接続が閉じられました: 予期しないエラーが発生しました。

    ご連絡は、送信してください エンジニアリング・リクエスト さらに支援が必要な場合。