IRONSOFTWAREHOME

System.Environment.FailFast with ReadyToRun

Curtis Chau
Curtis Chau
Updated: 29 juin 2026

Une application .NET plante dès qu'elle touche une classe IronPDF, se terminant par System.Environment.FailFast au démarrage ou pendant l'initialisation précoce. Lorsque l'application est publiée avec la compilation ReadyToRun (R2R), cette étape anticipée est généralement la cause. Vous gardez ReadyToRun activé pour l'application et excluez IronPdf.dll de celle-ci.

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 compile les assemblées à l'avance pour accélérer le démarrage. Dans certains environnements, cette étape anticipée interfère avec les bibliothèques qui dépendent d'un comportement d'initialisation à l'exécution, IronPDF parmi elles. Le processus peut échouer très tôt, souvent avant que tout journal IronPDF ne soit disponible, c'est pourquoi aucun journal n'est écrit avant le plantage.

Ce problème n'apparaît que dans l'environnement déployé, généralement des applications hébergées sur ASP.NET Core ou IIS sous Windows (y compris Windows Server) ciblant win-x64. La même machine peut se comporter différemment à l'intérieur d'IIS qu'à l'extérieur. Un cas de production confirmé a exécuté IronPDF 2026.4.1 sur .NET 10, une application web ASP.NET Core sous IIS (w3wp.exe), sur Windows Server 2025 Datacenter sur AWS EC2.

Solution

1. Conservez ReadyToRun activé

Il n'est pas nécessaire de désactiver complètement ReadyToRun. Si votre application en dépend, laissez la propriété en place :

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

2. Exclure IronPdf.dll de la compilation ReadyToRun

Ajoutez l'exclusion à votre .csproj :

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

Cette seule ligne est ce qui rétablit le comportement normal : elle laisse le reste de l'application compilé R2R tout en permettant à IronPDF de s'initialiser à l'exécution comme il l'attend.

Prudence: Utilisez la syntaxe exacte montrée. Ne pas envelopper l'exclusion à l'intérieur d'un autre bloc <PublishReadyToRunExclude>.

3. Exemple complet de .csproj

Un fichier de projet fonctionnel ressemble à ceci :

<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. Republier et redéployer

Avec le fichier de projet mis à jour, poussez une nouvelle construction :

  1. Reconstruisez l'application.
  2. Republiez-le pour votre runtime souhaité, tel que win-x64.
  3. Redéployez la version mise à jour.
  4. Redémarrez le site IIS ou recyclez le pool d'applications.
  5. Testez encore le même chemin de code IronPDF.

Dans le cas de production confirmé, exclure IronPdf.dll de la compilation ReadyToRun a éliminé le crash System.Environment.FailFast et l'application a fonctionné normalement sous IIS.

Quand essayer cette correction

Choisissez cette option lorsque les symptômes s'alignent :

  • PublishReadyToRun=true: ReadyToRun est activé sur l'application publiée.
  • Le premier appel plante : l'échec survient au moment où une classe IronPDF est touchée.
  • Timing du démarrage : l'erreur apparaît pendant le démarrage ou l'initialisation statique précoce.
  • Hôte Windows déployé : l'application s'exécute sous IIS ou un autre environnement Windows déployé.

Pour des conseils complets, consultez Using ReadyToRun with IronPDF.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes et créer des manuels bien structurés et visuellement attrayants.

...
Lire la suite

Prêt à commencer ?

Nuget Downloads 21,105,021Version :2026.9vient de sortir

Obtenez votre clé d'essai 30 jours gratuitement.
Aucune carte de crédit ou création de compte requise
Bibliothèque C# NuGet pour PDF
Installer avec NuGet

Version : 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. Dans l'explorateur de solutions, faites un clic droit sur Références, Gestion des packages NuGet
  2. Sélectionnez Parcourir et recherchez « IronPDF »
  3. Sélectionnez le package et installez
C# PDF DLL
Télécharger DLL

Version : 2026.9

ou téléchargez l'installateur Windows ici.

  1. Téléchargez et décompressez IronPDF à un emplacement tel que ~/Libs dans votre répertoire de solution
  2. Dans l'explorateur de solutions Visual Studio, faites un clic droit sur Références. Sélectionnez Parcourir, « IronPDF.dll »

Licences à partir de 749 $

Vous avez une question ? Contactez notre équipe de développement.

Key in blue circle

Obtenez votre clé d'essai de 30 jours instantanément.

Your trial license will be sent to your email address

Aucune restriction. 100 % débloqué. Pas de carte bancaire.

OR
bullet_checkedAucune carte de crédit ou création de compte requiseAucune restriction. 100 % débloqué. Pas de carte bancaire.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
Réservez votre Démonstration en direct gratuite
Booking Badge

De confiance par des millions d'ingénieurs dans le monde entier

Logos des clients d'Iron Software
Obtenez Votre Consultation sans Engagement
Remplissez le formulaire ci-dessous ou envoyez un email à sales@ironsoftware.com
Vos informations seront toujours gardées confidentielles.
De confiance par des millions d'ingénieurs dans le monde entier
Logos des clients d'Iron Software
Obtenez votre clé d'essai 30 jours gratuitement.
Aucune carte de crédit ou création de compte requise
Bibliothèque C# NuGet pour PDF
Installer avec NuGet

Version : 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. Dans l'explorateur de solutions, faites un clic droit sur Références, Gestion des packages NuGet
  2. Sélectionnez Parcourir et recherchez « IronPDF »
  3. Sélectionnez le package et installez
C# PDF DLL
Télécharger DLL

Version : 2026.9

ou téléchargez l'installateur Windows ici.

  1. Téléchargez et décompressez IronPDF à un emplacement tel que ~/Libs dans votre répertoire de solution
  2. Dans l'explorateur de solutions Visual Studio, faites un clic droit sur Références. Sélectionnez Parcourir, « IronPDF.dll »

Licences à partir de 749 $