Error al desplegar el paquete NuGet

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

Es posible que vea uno o más de los siguientes mensajes de error al intentar desplegar un paquete 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

Posible causa

La causa más común de estos errores está relacionada con protocolos TLS obsoletos. A partir del 15 de junio de 2020, NuGet ha eliminado la compatibilidad con TLS 1.0 y 1.1y ahora aplica TLS 1.2. Si TLS 1.2 no está habilitado en su sistema, los comandos NuGet pueden fallar.

El cambio de HTTP a HTTPS no resolverá el problema si TLS 1.2 no está habilitado, ya que NuGet ahora requiere conexiones seguras.

Soluciones

  1. Instalar Visual C++ Runtimes:

    Asegúrese de que Redistribuible de Visual C++ para Visual Studio está instalado en su sistema. La falta de tiempos de ejecución puede causar problemas con determinados paquetes, incluido IronPDF.

  2. Actualización de Visual Studio:

    Asegúrese de que utiliza una versión reciente y actualizada de Visual Studio. Se requiere Visual Studio 2015 o superior para admitir correctamente los protocolos TLS modernos.

    1. En Visual Studio, vaya a

      • Herramientas > Extensiones y actualizaciones > Actualizaciones > Galería de Visual Studio

      • Actualice el gestor de paquetes NuGet a la última versión.
  3. Habilitar Criptografía Fuerte en .NET:

    Si los pasos anteriores no resuelven el problema, es posible que tenga que activar la criptografía fuerte en .NET. Esto puede hacerse modificando el registro.

    1. Cree un archivo .reg con el siguiente contenido:
        [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. Ejecute el archivo .reg para actualizar la configuración del registro. Esto permite una criptografía fuerte en .NET, permitiendo conexiones TLS 1.2.

    No es necesario reiniciar. Después de aplicar estos cambios, intente ejecutar su comando NuGet de nuevo.

    Para más detalles, consulta este post de Stack Overflow: NuGet falla: La conexión subyacente se ha cerrado: Se ha producido un error inesperado.

    Póngase en contacto con nosotros Solicitud de ingeniería si necesita más ayuda.