IRONSOFTWAREHOME

Utiliser la compilation ReadyToRun ou Ahead-Of-Time (AOT)

Curtis Chau
Curtis Chau
Updated: 29 juin 2026

.NET ReadyToRun (R2R) est une forme de compilation en amont (AOT).

Activer la compilation ReadyToRun lors du déploiement peut violer la protection contre la falsification et entraîner des exceptions telles que les suivantes:

Exception: Unhandled exception. IronSoftware.Exceptions.LicensingException: IronPdf, Version=2024.2.0.2, Culture=neutral, PublicKeyToken=94e1c31412563c75 assembly is not authentic. Please try to reinstall the nuget package
   at IronPdf.PdfDocument.uswvws(Boolean vhfwdf)
   at IronPdf.PdfDocument.get_BinaryData()
   at IronPdf.PdfDocument.SaveAs(String FileName, Boolean SaveAsRevision)
   at Program.<Main>(String[] args) in C:\csharppro\aottest\aottest\Program.cs:line 5
Text

Raison

Selon la documentation de Microsoft, le SDK précompilera les assemblages qui sont distribués avec l'application. Pour les applications autonomes, cet ensemble d'assemblages inclura le framework. Il est important de noter que les binaires C++/CLI ne sont pas éligibles pour la compilation ReadyToRun.

Solution

Pour exclure des assemblages spécifiques du traitement ReadyToRun, utilisez la liste <PublishReadyToRunExclude> dans votre fichier projet. Par exemple, pour exclure l'assemblage IronPdf.dll :

<ItemGroup>
    <!-- Excludes IronPdf.dll from ReadyToRun compilation -->
    <PublishReadyToRunExclude Include="IronPdf.dll" />
</ItemGroup>
XML

Ce fragment XML doit être ajouté à votre fichier projet (.csproj) pour empêcher les assemblages spécifiés d'être précompilés avec ReadyToRun, évitant ainsi des problèmes potentiels de licence ou de falsification.

System.Environment.FailFast lors du premier appel IronPDF

Dans certains déploiements Windows, IronPDF fait planter le processus immédiatement au premier appel IronPDF sans sortie de journal au niveau de l'application. Le journal des événements Windows enregistre une entrée semblable à :

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

Ceci est une défaillance différente de l'exception de licence ci-dessus. Le plantage survient lors de l'initialisation statique avant que la journalisation normale ne soit disponible, donc aucune ligne de journal IronPDF n'apparaît avant que le processus ne se termine.

Ce modèle a été confirmé dans les applications ASP.NET Core hébergées sur IIS sur Windows Server avec PublishReadyToRun activé. Il a été reproduit sur :

  • IronPDF 2026.4.1
  • .NET 10
  • IIS (w3wp.exe) on Windows Server 2025 Datacenter
  • Cible de publication AWS EC2 win-x64

Solution

Conservez <PublishReadyToRun>true</PublishReadyToRun> pour l'application et excluez uniquement IronPdf.dll :

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

Un exemple complet .csproj :

<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

Après avoir mis à jour le .csproj, republiez l'application, redéployez et redémarrez le site IIS ou recyclez le Pool d'applications.

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 $