IRONSOFTWAREHOME

Código Gerenciado Após Estado da Thread Destruído em .NET 9 e .NET 10

Curtis Chau
Curtis Chau
Updated: 10 de junho de 2026

No .NET 9.0.5 e posteriores (incluindo .NET 10), um aplicativo usando IronPDF sai com um erro de asserção fatal e código de saída 127.

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

A Microsoft introduziu uma limpeza de thread FLS (Armazenamento Local de Fibras) mais rigorosa no .NET 9.0.5. O SO controla a ordem de execução dos callbacks FLS, o que pode acionar a finalização do CLR antes que o renderizador Chrome do IronPDF termine sua própria sequência de desligamento. Este problema é específico do Windows; Linux e macOS não são afetados. .NET 6, 7 e 8 saem normalmente. A geração de PDF do IronPDF é concluída com sucesso antes do disparo da asserção. A Microsoft registrou o problema como "Futuro" sem data de correção planejada.

Opções

Opção 1: Fazer downgrade para .NET 8 (Recomendado)

.NET 6.0.36 e .NET 8.0.26 saem normalmente. Faça downgrade do framework de destino se for necessário uma saída limpa do processo.

Opção 2: Use arquivos de resultados de teste em vez de códigos de saída no CI/CD

O trabalho de PDF é concluído com sucesso antes do disparo da asserção. Publique os resultados dos testes a partir de arquivos de resultados, em vez de depender do código de saída:

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

Opção 3: Filtre o código de saída no 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

Soluções mitigatórias conhecidas que não funcionam: Installation.SkipShutdown = true, SetErrorMode, Environment.Exit(0), e coleta manual de GC antes de sair.

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais bem estruturados e visualmente atraentes.

...
Leia mais

Pronto para começar?

Nuget Downloads 20,878,335Versão:2026.9recém-lançado

Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.
Não é necessário cartão de crédito nem criação de conta.
Biblioteca NuGet C# para PDF
Instalar com NuGet

Versão: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. No Solution Explorer, clique com o botão direito do mouse em Referências e selecione Gerenciar Pacotes NuGet.
  2. Selecione Procurar e pesquise "IronPDF".
  3. Selecione o pacote e instale.
DLL de PDF em C#
Baixar DLL

Versão: 2026.9

ou faça o download do Windows Installer aqui .

  1. Baixe e descompacte o IronPDF em um local como ~/Libs dentro do diretório da sua solução.
  2. No Solution Explorer do Visual Studio, clique com o botão direito do mouse em Referências. Selecione Procurar e digite "IronPDF.dll".

Licenças a partir de US$ 749

Key in blue circle

Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.

Your trial license will be sent to your email address

Sem limitações. 100% desbloqueado. Sem cartão de crédito.

bullet_checkedNão é necessário cartão de crédito nem criação de conta.Sem limitações. 100% desbloqueado. Sem cartão de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Agende sua demonstração ao vivo gratuita.
Booking Badge

Aprovado por milhões de engenheiros em todo o mundo.

Logotipos dos clientes da Iron Software
Agende sua consulta sem compromisso.
Preencha o formulário abaixo ou envie um e-mail para sales@ironsoftware.com
Os seus dados serão sempre mantidos em sigilo.
Aprovado por milhões de engenheiros em todo o mundo.
Logotipos dos clientes da Iron Software
Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.
Não é necessário cartão de crédito nem criação de conta.