IRONSOFTWAREHOME

System.Environment.FailFast with ReadyToRun

Curtis Chau
Curtis Chau
Updated: 29. Juni 2026

Eine .NET-Anwendung stürzt ab, sobald sie erstmals eine IronPDF-Klasse berührt, und beendet sich durch System.Environment.FailFast beim Start oder während der frühen Initialisierung. Wenn die App mit der ReadyToRun (R2R)-Kompilierung veröffentlicht wird, wird dieser ahead-of-time-Schritt normalerweise die Ursache sein. Sie halten ReadyToRun für die Anwendung an und schließen IronPdf.dll davon aus.

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 kompiliert Assemblies im Voraus, um den Start zu beschleunigen. In einigen Umgebungen stört dieser ahead-of-time-Schritt Bibliotheken, die von einer Laufzeit-Initialisierungsverhalten abhängen, einschließlich IronPDF. Der Prozess kann sehr früh fehlschlagen, oft bevor irgendwelche IronPDF-Protokollierung verfügbar ist, weshalb keine Protokolle vor dem Absturz geschrieben werden.

Dieses Problem tritt nur in der bereitgestellten Umgebung auf, typischerweise ASP.NET Core oder unter IIS gehosteten Anwendungen auf Windows (einschließlich Windows Server), die auf win-x64 abzielen. Die gleiche Maschine kann sich innerhalb von IIS anders verhalten als außerhalb davon. Ein bestätigter Produktionsfall führte IronPDF 2026.4.1 auf .NET 10 aus, eine ASP.NET Core-Webanwendung unter IIS (w3wp.exe), auf Windows Server 2025 Datacenter auf AWS EC2.

Lösung

1. Halten Sie ReadyToRun aktiviert

Es gibt keinen Grund, ReadyToRun komplett zu deaktivieren. Wenn Ihre Anwendung darauf angewiesen ist, lassen Sie die Eigenschaft in Kraft:

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

2. Schließen Sie IronPdf.dll von der ReadyToRun-Kompilierung aus

Fügen Sie den Ausschluss zu Ihrem .csproj hinzu:

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

Diese einzelne Zeile ist das, was das normale Verhalten wiederherstellt: Sie lässt den Rest der App R2R-kompiliert, während sie IronPDF zur Laufzeit initialisieren lässt, wie es erwartet wird.

Vorsicht: Verwenden Sie die genau gezeigte Syntax. Wickeln Sie den Ausschluss nicht in einen anderen <PublishReadyToRunExclude>-Containerblock.

3. Vollständiges .csproj-Beispiel

Eine funktionierende Projektdatei sieht so aus:

<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. Erneut veröffentlichen und bereitstellen

Mit der aktualisierten Projektdatei schieben Sie einen neuen Build:

  1. Bauen Sie die Anwendung neu.
  2. Veröffentlichen Sie es erneut für Ihre beabsichtigte Laufzeitumgebung, wie zum Beispiel win-x64.
  3. Stellen Sie den aktualisierten Build bereit.
  4. Starten Sie die IIS-Website neu oder recyceln Sie den Anwendungs-Pool.
  5. Testen Sie den gleichen IronPDF-Codepfad erneut.

Im bestätigten Produktionsfall beseitigte das Ausschließen von IronPdf.dll aus der ReadyToRun-Kompilierung den System.Environment.FailFast-Absturz und die Anwendung lief normal unter IIS.

Wann diese Lösung ausprobieren

Greifen Sie darauf zu, wenn die Symptome übereinstimmen:

  • PublishReadyToRun=true: ReadyToRun ist auf der veröffentlichten App aktiviert.
  • Erster Aufruf stürzt ab: Der Fehler tritt auf, sobald eine IronPDF-Klasse berührt wird.
  • Startzeitpunkt: Der Fehler erscheint während des Starts oder der frühen statischen Initialisierung.
  • Bereitgestellter Windows-Host: Die App läuft unter IIS oder einer anderen bereitgestellten Windows-Umgebung.

Für vollständige Anleitungen siehe Verwendung von ReadyToRun mit IronPDF.

Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender Handbücher.

...
Weiterlesen

Bereit anzufangen?

Nuget Downloads 21,105,021Version:2026.9gerade veröffentlicht

Erhalten Sie sofort Ihren kostenlosen 30-Tage-Testschlüssel.
Ihr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.
C# NuGet-Bibliothek für PDF
Installation mit NuGet

Version: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. Rechtsklick auf Referenzen, NuGet-Pakete verwalten
  2. Wählen Sie Durchsuchen und suchen Sie nach 'IronPDF'
  3. Paket auswählen und installieren
C# PDF DLL
Download DLL

Version: 2026.9

oder laden Sie den Windows-Installer hier herunter.

  1. Laden Sie IronPDF herunter und entpacken Sie es in ein Verzeichnis wie ~/Libs innerhalb Ihres Lösungsverzeichnisses
  2. Im Visual Studio-Projektmappen-Explorer klicken Sie mit der rechten Maustaste auf Referenzen. Wählen Sie Durchsuchen, "IronPDF.dll"

Lizenzen ab 749 $

Key in blue circle

Holen Sie sich sofort Ihren kostenlosen 30-Tage-Testschlüssel.

Your trial license will be sent to your email address

Keine Einschränkungen. 100 % freigeschaltet. Keine Kreditkarte.

OR
bullet_checkedIhr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.Keine Einschränkungen. 100 % freigeschaltet. Keine Kreditkarte.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
Buchen Sie Ihre kostenlose Live-Demo
Booking Badge

Von Millionen von Ingenieur*innen weltweit vertraut

Kundenlogos von Iron Software
Erhalten Sie Ihre unverbindliche Beratung
Füllen Sie das Formular unten aus oder senden Sie eine E-Mail an sales@ironsoftware.com
Ihre Daten werden immer vertraulich behandelt.
Von Millionen von Ingenieur*innen weltweit vertraut
Kundenlogos von Iron Software
Erhalten Sie sofort Ihren kostenlosen 30-Tage-Testschlüssel.
Ihr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.
C# NuGet-Bibliothek für PDF
Installation mit NuGet

Version: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. Rechtsklick auf Referenzen, NuGet-Pakete verwalten
  2. Wählen Sie Durchsuchen und suchen Sie nach 'IronPDF'
  3. Paket auswählen und installieren
C# PDF DLL
Download DLL

Version: 2026.9

oder laden Sie den Windows-Installer hier herunter.

  1. Laden Sie IronPDF herunter und entpacken Sie es in ein Verzeichnis wie ~/Libs innerhalb Ihres Lösungsverzeichnisses
  2. Im Visual Studio-Projektmappen-Explorer klicken Sie mit der rechten Maustaste auf Referenzen. Wählen Sie Durchsuchen, "IronPDF.dll"

Lizenzen ab 749 $