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. À partir du 15 juin 2020, NuGet a supprimé le support pour 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 runtime Visual C++ :
Assurez-vous que le Redistributable 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 une version ultérieure 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 : NuGet échoue : La connexion sous-jacente a été fermée : une erreur inattendue est survenue.
Contactez-nous en soumettant une Demande d'Ingénierie si vous avez besoin d'une assistance supplémentaire.