NuGet-Paket konnte nicht bereitgestellt werden

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

Wenn Sie versuchen, ein NuGet-Paket bereitzustellen, werden möglicherweise eine oder mehrere der folgenden Fehlermeldungen angezeigt:

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

Mögliche Ursache

Die häufigste Ursache für diese Fehler liegt in veralteten TLS-Protokollen. Ab dem 15. Juni 2020,NuGet hat die Unterstützung für TLS 1.0 und 1.1 entferntund erzwingt nun TLS 1.2. Wenn TLS 1.2 auf Ihrem System nicht aktiviert ist, können NuGet-Befehle fehlschlagen.

Der Wechsel von HTTP zu HTTPS wird das Problem nicht beheben, wenn TLS 1.2 nicht aktiviert ist, da NuGet jetzt sichere Verbindungen erfordert.

Lösungen

  1. Visual C++-Laufzeiten installieren:

    Stellen Sie sicher, dass dieVisual C++ neu verteilbar für Visual Studio auf Ihrem System installiert ist. Fehlende Laufzeiten können zu Problemen mit bestimmten Paketen, einschließlich IronPDF, führen.

  2. Visual Studio aktualisieren:

    Stellen Sie sicher, dass Sie eine aktuelle Version von Visual Studio verwenden. Visual Studio 2015 oder höher ist erforderlich, um moderne TLS-Protokolle korrekt zu unterstützen.

    1. Gehen Sie in Visual Studio zu:

      • Tools > Erweiterungen und Updates > Updates > Visual Studio Gallery

      • Aktualisieren Sie den NuGet Package Manager auf die neueste Version.
  3. Starke Kryptographie in .NET aktivieren:

    Wenn die oben genannten Schritte das Problem nicht beheben, müssen Sie möglicherweise starke Kryptographie in .NET aktivieren. Dies kann durch Änderung der Registrierung geschehen.

    1. Erstellen Sie eine .reg-Datei mit folgendem Inhalt:
        [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. Führen Sie die Datei .reg aus, um die Registrierungseinstellungen zu aktualisieren. Dies ermöglicht starke Kryptographie in .NET und erlaubt TLS 1.2-Verbindungen.

    Ein Neustart ist nicht erforderlich. Nachdem Sie diese Änderungen vorgenommen haben, führen Sie den NuGet-Befehl erneut aus.

    Weitere Einzelheiten finden Sie in diesem Stack Overflow-Beitrag:NuGet schlägt fehl: Die zugrunde liegende Verbindung wurde geschlossen: Ein unerwarteter Fehler ist aufgetreten.

    Nehmen Sie Kontakt mit uns auf, indem Sie unsTechnische Anfrage sollten Sie weitere Hilfe benötigen.