IRONSOFTWAREHOME

Código Gestionado Después de Destrucción del Estado de Hilo en .NET 9 y .NET 10

Curtis Chau
Curtis Chau
Updated: 10 de junio de 2026

En .NET 9.0.5 y posteriores (incluyendo .NET 10), una aplicación que usa IronPDF sale con un error fatal de aserción y código de salida 127.

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

Microsoft introdujo una limpieza de hilos FLS (Fiber Local Storage) más estricta en .NET 9.0.5. El sistema operativo controla el orden de ejecución de las devoluciones de llamada FLS, lo que puede desencadenar la destrucción del CLR antes de que el renderizador Chrome de IronPDF termine su secuencia de apagado. Este problema es específico de Windows; Linux y macOS no se ven afectados. .NET 6, 7 y 8 salen sin problemas. La generación de PDF de IronPDF se completa correctamente antes de que se active la afirmación. Microsoft ha catalogado el problema como "Futuro" sin una fecha de solución planificada.

Opciones

Opción 1: Degradar a .NET 8 (Recomendado)

.NET 6.0.36 y .NET 8.0.26 finalizan limpiamente. Degradar el marco de trabajo objetivo si se requiere una finalización limpia del proceso.

Opción 2: Utilizar archivos de resultados de prueba en lugar de códigos de salida en CI/CD

El trabajo de PDF se completa correctamente antes de que se active la afirmación. Publica los resultados de prueba a partir de los archivos de resultados en lugar de depender del código de salida:

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

Opción 3: Filtrar el código de salida en el 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

Soluciones conocidas que no funcionan: Installation.SkipShutdown = true, SetErrorMode, Environment.Exit(0), y recolección manual de GC antes de salir.

Curtis Chau
Escritor Técnico

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien estructurados y visualmente atractivos.

...
Leer más

¿Listo para empezar?

Nuget Downloads 20,878,335Versión:2026.9recién publicada

Obtenga su Clave de Prueba de 30 días gratis al instante.
No se requiere tarjeta de crédito ni creación de cuenta
Biblioteca C# NuGet para PDF
Instalar con NuGet

Versión: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. En el Explorador de Soluciones, haga clic derecho en Referencias, Administrar Paquetes NuGet
  2. Seleccione Examinar y busque "IronPDF"
  3. Seleccione el paquete e instale
C# PDF DLL
Descargar DLL

Versión: 2026.9

o descargue el Instalador de Windows aquí.

  1. Descargue y descomprima IronPDF en una ubicación como ~/Libs dentro del directorio de su solución
  2. En el Explorador de Soluciones de Visual Studio, haga clic derecho en Referencias. Seleccione Examinar, "IronPDF.dll"

Licencias desde $999

Key in blue circle

Obtenga su clave de prueba gratuita de 30 días al instante.

Your trial license will be sent to your email address

Sin limitaciones. 100 % desbloqueado. Sin tarjeta de crédito.

bullet_checkedNo se requiere tarjeta de crédito ni creación de cuentaSin limitaciones. 100 % desbloqueado. Sin tarjeta de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Reserve su Demostración en Vivo gratuita
Booking Badge

Confiado por millones de ingenieros en todo el mundo

Logos de clientes de Iron Software
Obtén tu Consulta Sin Compromiso
Completa el formulario a continuación o envía un correo a sales@ironsoftware.com
Tus detalles siempre serán mantenidos confidenciales.
Confiado por millones de ingenieros en todo el mundo
Logos de clientes de Iron Software
Obtenga su Clave de Prueba de 30 días gratis al instante.
No se requiere tarjeta de crédito ni creación de cuenta