IRONSOFTWAREHOME

System.Environment.FailFast with ReadyToRun

Curtis Chau
Curtis Chau
Updated: 29 Haziran 2026

Bir .NET uygulaması, IronPDF sınıfına ilk kez temas ettiği anda çöker, başlatma sırasında veya erken başlatmada System.Environment.FailFast ile sonlandırılır. Uygulama ReadyToRun (R2R) derlemesi ile yayımlandığında, genellikle sebep olan bu zamansal adımdır. Uygulama için ReadyToRun'u açık tutar ve IronPdf.dll'yı hariç tutarsınız.

The application requested process termination through System.Environment.FailFast. Message: Stack: at System.Environment.FailFast(System.String) at <Module>..cctor() at Program.<Main>$(System.String[])
Text

ReadyToRun, başlangıcı hızlandırmak için derlemeleri önceden derler. Bazı ortamlarda bu zaman öncesi adım, IronPDF gibi çalışma zamanına bağlı olan kütüphanelerle çeliştiğinde etkileşime girer. Süreç çok erken aşamada başarısız olabilir, genellikle herhangi bir IronPDF günlüğü mevcut olmadan önce, bu yüzden çökmekten önce hiçbir günlük yazılmaz.

Bu sorun yalnızca dağıtılmış ortamda ortaya çıkar, genellikle hedefi win-x64 olan ASP.NET Core veya Windows (Windows Server dahil) üzerinde IIS barındırılan uygulamalarda. Aynı makine, IIS içinde ve dışında farklı davranabilir. Doğrulanmış bir üretim vakasında, IronPDF 2026.4.1 .NET 10 üzerinde, IIS altında (w3wp.exe) bir ASP.NET Core web uygulaması olarak, AWS EC2 üzerindeki Windows Server 2025 Datacenter'da çalıştırıldı.

Çözüm

1. ReadyToRun etkin bırakın

ReadyToRun'u tamamen devre dışı bırakmanıza gerek yok. Uygulamanız buna bağımlıysa, özelliği yerinde bırakın:

<PropertyGroup>
  <PublishReadyToRun>true</PublishReadyToRun>
</PropertyGroup>
XML

2. ReadyToRun derlemesinden IronPdf.dll hariç tutun

Hariç tutmayı .csproj'a ekleyin:

<ItemGroup>
  <PublishReadyToRunExclude Include="IronPdf.dll" />
</ItemGroup>
XML

Bu tek satır, normal davranışı geri yükler: geri kalan uygulamayı R2R-derlenmiş bırakır, IronPDF'yi beklediği gibi çalışma zamanında başlatır.

Dikkat: Gösterilen tam sözdizimini kullanın. Hariç tutmayı başka bir <PublishReadyToRunExclude> kapsayıcı bloğu içine almayın.

3. Tam .csproj örneği

Çalışan bir proje dosyası şöyle görünür:

<PropertyGroup>
  <TargetFramework>net10.0</TargetFramework>
  <Nullable>enable</Nullable>
  <ImplicitUsings>enable</ImplicitUsings>
  <PublishReadyToRun>true</PublishReadyToRun>
</PropertyGroup>
<ItemGroup>
  <PackageReference Include="IronPdf" Version="2026.4.1" />
</ItemGroup>
<ItemGroup>
  <PublishReadyToRunExclude Include="IronPdf.dll" />
</ItemGroup>
XML

4. Tekrar yayımla ve tekrar dağıt

Proje dosyası güncellendiğinde, yepyeni bir derlemeyi gönderin:

  1. Uygulamayı yeniden derleyin.
  2. Hedeflediğiniz çalışma zamanı için tekrar yayınlayın, örneğin win-x64.
  3. Güncellenmiş derlemeyi tekrar dağıtın.
  4. IIS sitesi yeniden başlatın veya Uygulama Havuzunu geri dönüştürün.
  5. Aynı IronPDF kod yolunu tekrar test edin.

Doğrulanmış üretim vakasında, IronPdf.dll'ı ReadyToRun derlemesinden hariç tutmak, System.Environment.FailFast çökmesini temizledi ve uygulama IIS altında normal çalıştı.

Bu Düzelmeyi Ne Zaman Denemelisiniz

Belirtiler hizalandığında başvurun:

  • PublishReadyToRun=true: Yayınlanan uygulamada ReadyToRun etkinleştirildi.
  • İlk çağrı çöküyor: Hata, IronPDF sınıfına ilk temas edildiği anda meydana gelir.
  • Başlangıç zamanlaması: Hata başlangıç sırasında veya erken statik başlatma sırasında görünür.
  • Deploy edilen Windows Host: Uygulama IIS veya başka bir dağıtılmış Windows ortamında çalışır.

Tam yol göstermek için Using ReadyToRun with IronPDF adresine bakın.

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,809,720Sü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