Despliegue de paquetes NuGet de IronPDF: Correcciones

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. Desde el 15 de junio de 2020, NuGet ha eliminado el soporte para TLS 1.0 y 1.1 y ahora exige TLS 1.2. Si TLS 1.2 no está habilitado en su sistema, los comandos de 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 runtimes de Visual C++:

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

  2. Actualizar Visual Studio:

    Asegúrese de que utiliza una versión reciente y actualizada de Visual Studio. Visual Studio 2015 o superior es necesario para soportar adecuadamente 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 la Cifrado 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. Crea 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, consulte esta publicación de Stack Overflow: NuGet falla: La conexión subyacente se cerró: Ocurrió un error inesperado.

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