IRONSOFTWAREHOME

Thread Durumu Yok Edildikten Sonra Yönetilen Kod .NET 9 ve .NET 10

Curtis Chau
Curtis Chau
Updated: 10 Haziran 2026

.NET 9.0.5 ve sonrasında ( .NET 10 dahil) IronPDF kullanan bir uygulama, ölümcül bir doğrulama hatası ve çıkış kodu 127 ile çıkış yapar.

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

Microsoft, .NET 9.0.5'te daha katı FLS (Fiber Local Storage) thread temizliği tanıttı. İşletim sistemi FLS geri çağırma yürütme sıralamasını kontrol eder; bu da IronPDF'nin Chrome renderlayıcısı kendi kapanış dizisini tamamlamadan önce CLR sökümünü tetikleyebilir. Bu sorun Windows'a özgüdür; Linux ve macOS etkilenmez. .NET 6, 7 ve 8 temiz bir şekilde çıkar. IronPDF'nin PDF oluşturulması, doğrulama başlamadan önce başarıyla tamamlanır. Microsoft, sorunu "Gelecek" olarak dosyalamış olup planlı bir düzeltme tarihi yoktur.

Seçenekler

Seçenek 1: .NET 8'e Düşürme (Önerilen)

.NET 6.0.36 ve .NET 8.0.26 temiz bir şekilde çıkar. Temiz bir işlem çıkışı gerekiyorsa hedef framework'ü düşürün.

Seçenek 2: CI/CD'de çıkış kodları yerine test sonucu dosyalarını kullanın

Doğrulama başlamadan önce PDF işi başarıyla tamamlanır. Çıkış koduna güvenmek yerine sonuç dosyalarından test sonuçları yayınlayın:

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

Seçenek 3: Shell'de çıkış kodunu filtreleyin

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

Bilinen çalışmayan önlemler: Installation.SkipShutdown = true, SetErrorMode, Environment.Exit(0) ve çıkıştan önce manuel GC toplama.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapılandırılmış, görsel olarak çekici kılavuzlar oluşturmayı seviyor.

...
Daha Fazla Oku

Başlamaya Hazır mısınız?

Nuget Downloads 20,878,335Sürüm:2026.9yeni yayınlandı

Ücretsiz 30 Günlük Deneme Anahtarınızı anında alın.
Kredi kartı veya hesap oluşturma gerektirmez
PDF için C# NuGet Kütüphanesi
NuGet ile yükleyin

Sürüm: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. Çözüm Gezgini'nde Referanslar'a sağ tıklayın, NuGet Paketlerini Yönet
  2. Tarayıcıya tıklayın ve "IronPdf" arayın
  3. Paketi seçin ve yükleyin
C# PDF DLL
DLL İndir

Sürüm: 2026.9

veya Windows Yükleyiciyi şuradan buradan indirin.

  1. IronPDF'i, ~/Libs gibi bir yere, Solution dizininiz içinde indirin ve açın.
  2. Visual Studio Çözüm Gezgini'nde, Referanslar'a sağ tıklayın. Tarayıcı sekmesini seçin, "IronPdf.dll"

Lisanslar $999

Key in blue circle

Ücretsiz 30 günlük Deneme Anahtarınızı anında edinin.

Your trial license will be sent to your email address

Herhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.

bullet_checkedKredi kartı veya hesap oluşturma gerektirmezHerhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Ücretsiz Canlı Demo rezervasyonu yapın
Booking Badge

Dünya Çapında Milyonlarca Mühendisin Güvendiği

Iron Software müşteri logoları
Bağımsız Danışmanlık Alın
Aşağıdaki formu doldurun veya sales@ironsoftware.com adresine e-posta gönderin
Bilgileriniz daima gizli kalacaktır.
Dünya Çapında Milyonlarca Mühendisin Güvendiği
Iron Software müşteri logoları
Ücretsiz 30 Günlük Deneme Anahtarınızı anında alın.
Kredi kartı veya hesap oluşturma gerektirmez