Déploiement des paquets NuGet IronPDF : Corrections
Vous pourriez voir un ou plusieurs des messages d'erreur suivants lors de la tentative de déploiement d'un package 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
Cause Possible
La cause la plus courante de ces erreurs est liée à des protocoles TLS obsolètes. À compter du 15 juin 2020,NuGet a supprimé la prise en charge de TLS 1.0 et 1.1, et impose désormais TLS 1.2. Si TLS 1.2 n'est pas activé sur votre système, les commandes NuGet peuvent échouer.
Passer de HTTP à HTTPS ne résoudra pas le problème si TLS 1.2 n'est pas activé, car NuGet nécessite désormais des connexions sécurisées.
Solutions
Installer les runtimes Visual C++ :
Assurez-vous que leRedistribuable de Visual C++ pour Visual Studio est installé sur votre système. Les environnements d'exécution manquants peuvent causer des problèmes avec certains packages, y compris IronPDF.
Mettre à jour Visual Studio :
Assurez-vous d'utiliser une version récente et à jour de Visual Studio. Visual Studio 2015 ou supérieur est requis pour prendre en charge correctement les protocoles TLS modernes.
Dans Visual Studio, allez à :
Outils > Extensions et mises à jour > Mises à jour > Galerie Visual Studio
- Mettez à jour le gestionnaire de packages NuGet vers la dernière version.
Activer la cryptographie forte dans .NET :
Si les étapes ci-dessus ne résolvent pas le problème, vous pourriez avoir besoin d'activer la cryptographie forte dans .NET. Cela peut être fait en modifiant le registre.
- Créez un fichier
.reg
avec le contenu suivant :
- Créez un fichier
[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
Exécutez le fichier
.reg
pour mettre à jour les paramètres du registre. Cela permet une cryptographie forte dans .NET, permettant des connexions TLS 1.2.Aucun redémarrage n'est nécessaire. Après avoir appliqué ces modifications, essayez d'exécuter à nouveau votre commande NuGet.
Pour plus de détails, consultez ce post sur Stack Overflow :Échec de NuGet : La connexion sous-jacente a été fermée : Une erreur inattendue s'est produite.
Contactez-nous en soumettantDemande d'ingénieriesi vous avez besoin d'une assistance supplémentaire.