Wdrażanie pakietów NuGet IronPDF: Poprawki
Możesz zobaczyć jeden lub więcej z poniższych komunikatów o błędach podczas próby wdrożenia pakietu 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
Możliwa przyczyna
Najczęstszą przyczyną tych błędów są przestarzałe protokoły TLS. Od 15 czerwca 2020 roku NuGet usunął obsługę TLS 1.0 i 1.1 i teraz wymaga TLS 1.2. Jeśli TLS 1.2 nie jest włączony w Twoim systemie, polecenia NuGet mogą się nie powieść.
Przełączenie z HTTP na HTTPS nie rozwiąże problemu, jeśli TLS 1.2 nie jest włączony, ponieważ NuGet teraz wymaga bezpiecznych połączeń.
Rozwiazania
-
Zainstaluj Visual C++ Runtimes:
Upewnij się, że pakiet Visual C++ Redistributable dla Visual Studio jest zainstalowany na Twoim systemie. Brakujące środowiska uruchomieniowe mogą powodować problemy z niektórymi pakietami, w tym IronPDF. -
Zaktualizuj Visual Studio:
Upewnij się, że używasz najnowszej, aktualnej wersji Visual Studio. Visual Studio 2015 lub nowszy jest wymagany do prawidłowej obsługi nowoczesnych protokołów TLS.- W Visual Studio przejdź do:
- Narzędzia > Rozszerzenia i aktualizacje > Aktualizacje > Galeria Visual Studio
- Zaktualizuj Menedżera Pakietów NuGet do najnowszej wersji.
- W Visual Studio przejdź do:
-
Włącz silną kryptografię w .NET:
Jeśli powyższe kroki nie rozwiążą problemu, może być konieczne włączenie silnej kryptografii w .NET. Można to zrobić, modyfikując rejestr.-
Utwórz plik
.regz następującą zawartością:[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- Powyższe wpisy w rejestrze umożliwiają użycie silnej kryptografii w .NET w wersjach 32-bitowych i 64-bitowych.
- Uruchom plik
.reg, aby zaktualizować ustawienia rejestru. To włącza silną kryptografię w .NET, umożliwiając połączenia TLS 1.2.
-
Nie jest wymagane ponowne uruchamianie. Po zastosowaniu tych zmian spróbuj ponownie uruchomić polecenie NuGet.
Więcej szczegółów można znaleźć w tym poście na Stack Overflow: NuGet nie powiodło się: Podstawowe połączenie zostało zamknięte: Wystąpił nieoczekiwany błąd.
Skontaktuj się z nami, przesyłając Zgłoszenie inżynieryjne jeżeli potrzebujesz dalszej pomocy.

