IRONSOFTWAREHOME

Zarzadzany kod po zniszczeniu stanu watku w .NET 9 i .NET 10

Curtis Chau
Curtis Chau
Updated: 10 czerwca 2026

W .NET 9.0.5 i pozniejszych (w tym .NET 10), aplikacja korzystajaca z IronPDF konczy dzialanie z krytycznym bledem weryfikacji i kodem wyjscia 127.

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

Firma Microsoft wprowadzila surowsze czyszczenie watkow FLS (Fiber Local Storage) w .NET 9.0.5. System operacyjny kontroluje kolejnosc wykonywania wywolan zwrotnych FLS, co moze wywolywac likwidacje CLR przed zakonczeniem wlasnej sekwencji zamkniecia przez render IronPDF w Chrome. Problem ten dotyczy tylko systemu Windows; Linux i macOS nie sa dotkniete. .NET 6, 7 i 8 koncza dzialanie bez problemow. Generowanie plikow PDF przez IronPDF konczy sie pomyslnie przed wystapieniem bledu weryfikacji. Microsoft zaklasyfikowal ten problem jako "Przyszlosc" bez planowanej daty naprawy.

Opcje

Opcja 1: Przejdz na .NET 8 (Zalecane)

.NET 6.0.36 i .NET 8.0.26 koncza dzialanie bez problemow. Przejdz na starsza wersje docelowego frameworku, jesli wymagane jest czyste zakonczenie procesu.

Opcja 2: Uzywaj plikow z wynikami testow zamiast kodow wyjscia w CI/CD

Praca nad PDF konczy sie pomyslnie przed wystapieniem bledu weryfikacji. Publikuj wyniki testow z plikow wynikowych zamiast polegac na kodzie wyjscia:

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

Opcja 3: Filtruj kod wyjscia w powloce

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

Znane nieskuteczne środki zaradcze: Installation.SkipShutdown = true, SetErrorMode, Environment.Exit(0) i ręczne zbieranie GC przed zakończeniem.

Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podręczników.

...
Czytaj więcej

Gotowy, aby rozpocząć?

Nuget Downloads 20,878,335Wersja:2026.9właśnie wydany

Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta
Biblioteka C# NuGet dla plików PDF
Zainstaluj za pomocą NuGet

Wersja: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. W Eksploratorze Rozwiązań, kliknij prawym przyciskiem Myszy na Odwołania, Zarządzaj pakietami NuGet
  2. Wybierz opcję Przeglądaj i wyszukaj „IronPdf”
  3. Wybierz pakiet i zainstaluj
DLL PDF dla C#
Pobierz DLL

Wersja: 2026.9

lub pobierz instalator Windows tutaj.

  1. Pobierz i rozpakuj IronPDF do lokalizacji takiej jak ~/Libs w katalogu Solution
  2. W Eksploratorze rozwiązań programu Visual Studio kliknij prawym przyciskiem myszy opcję Odwołania. Wybierz opcję Przeglądaj, „IronPdf.dll”

Licencje od 749 USD

Key in blue circle

Uzyskaj natychmiast swój darmowy 30-dniowy Klucz Testowy.

Your trial license will be sent to your email address

Brak ograniczeń. 100% dostępności. Bez karty kredytowej.

bullet_checkedNie wymaga karty kredytowej ani tworzenia kontaBrak ograniczeń. 100% dostępności. Bez karty kredytowej.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Zarezerwuj swoje darmowe Demo na żywo
Booking Badge

Zaufane przez miliony inżynierów na całym świecie

Logotypy klientów Iron Software
Otrzymaj swoje Konsultacja Bez Zobowiązań
Wypełnij poniższy formularz lub wyślij e-mail na sales@ironsoftware.com
Twoje dane zawsze będą utrzymywane w tajemnicy.
Zaufane przez miliony inżynierów na całym świecie
Logotypy klientów Iron Software
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta