Use ReadyToRun or Ahead-Of-Time (AOT) Compilation

This article was translated from English: Does it need improvement?
Translated
View the article in English

.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

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>
<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 que les assemblages spécifiés ne soient précompilés avec ReadyToRun, évitant ainsi d'éventuels problèmes de licence ou de falsification.

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 ...

Lire la suite
Prêt à commencer?
Nuget Téléchargements 16,154,058 | Version : 2025.11 vient de sortir