IRONSOFTWAREHOME

Code managé après destruction de l'état du thread sur .NET 9 et .NET 10

Curtis Chau
Curtis Chau
Updated: 10 juin 2026

Sur .NET 9.0.5 et versions ultérieures (y compris .NET 10), une application utilisant IronPDF se termine par une erreur d'assertion fatale et un code de sortie 127.

Attempt to execute managed code after the .NET runtime thread state has been destroyed.
Text

Microsoft a introduit un nettoyage plus strict des threads FLS (Fiber Local Storage) dans .NET 9.0.5. Le système d'exploitation contrôle l'ordre d'exécution des rappels FLS, ce qui peut déclencher le démantèlement CLR avant que le moteur de rendu Chrome de IronPDF ne termine sa propre séquence d'arrêt. Ce problème est spécifique à Windows ; Linux et macOS ne sont pas affectés. .NET 6, 7 et 8 se terminent correctement. La génération de PDF de IronPDF se termine avec succès avant le déclenchement de l'assertion. Microsoft a classé le problème comme "Futur" sans date de correctif prévue.

Options

Option 1 : Régresser vers .NET 8 (recommandé)

.NET 6.0.36 et .NET 8.0.26 se terminent correctement. Régressé le framework cible si une sortie de processus propre est requise.

Option 2 : Utiliser des fichiers de résultats de test au lieu de codes de sortie dans CI/CD

Le travail de PDF se termine avec succès avant le déclenchement de l'assertion. Publier les résultats de test à partir de fichiers de résultats plutôt que de s'appuyer sur le code de sortie :

Azure DevOps :

- script: dotnet test --logger "trx" || true
- task: PublishTestResults@2
  inputs:
    testResultsFiles: '**/*.trx'
Text

GitHub Actions :

- run: dotnet test --logger "trx" || true
- uses: dorny/test-reporter@v1
  with:
    path: '**/*.trx'
    reporter: dotnet-trx
Text

Option 3 : Filtrer le code de sortie dans le shell

dotnet run 2>stderr.log; EXIT=$?
if grep -q "thread state has been destroyed" stderr.log; then exit 0; else exit $EXIT; fi
SHELL

Atténuations non fonctionnelles connues : Installation.SkipShutdown = true, SetErrorMode, Environment.Exit(0), et collecte manuelle du GC avant de quitter.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes et créer des manuels bien structurés et visuellement attrayants.

...
Lire la suite

Prêt à commencer ?

Nuget Downloads 20,878,335Version :2026.9vient de sortir

Obtenez votre clé d'essai 30 jours gratuitement.
Aucune carte de crédit ou création de compte requise
Bibliothèque C# NuGet pour PDF
Installer avec NuGet

Version : 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. Dans l'explorateur de solutions, faites un clic droit sur Références, Gestion des packages NuGet
  2. Sélectionnez Parcourir et recherchez « IronPDF »
  3. Sélectionnez le package et installez
C# PDF DLL
Télécharger DLL

Version : 2026.9

ou téléchargez l'installateur Windows ici.

  1. Téléchargez et décompressez IronPDF à un emplacement tel que ~/Libs dans votre répertoire de solution
  2. Dans l'explorateur de solutions Visual Studio, faites un clic droit sur Références. Sélectionnez Parcourir, « IronPDF.dll »

Licences à partir de 749 $

Vous avez une question ? Contactez notre équipe de développement.

Key in blue circle

Obtenez votre clé d'essai de 30 jours instantanément.

Your trial license will be sent to your email address

Aucune restriction. 100 % débloqué. Pas de carte bancaire.

bullet_checkedAucune carte de crédit ou création de compte requiseAucune restriction. 100 % débloqué. Pas de carte bancaire.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Réservez votre Démonstration en direct gratuite
Booking Badge

De confiance par des millions d'ingénieurs dans le monde entier

Logos des clients d'Iron Software
Obtenez Votre Consultation sans Engagement
Remplissez le formulaire ci-dessous ou envoyez un email à sales@ironsoftware.com
Vos informations seront toujours gardées confidentielles.
De confiance par des millions d'ingénieurs dans le monde entier
Logos des clients d'Iron Software
Obtenez votre clé d'essai 30 jours gratuitement.
Aucune carte de crédit ou création de compte requise