Utiliser la compilation ReadyToRun ou Ahead-Of-Time (AOT)
.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 assemblys spécifiques du traitement ReadyToRun, utilisez la liste <PublishReadyToRunExclude> dans votre fichier projet. Par exemple, pour exclure l'assembly IronPdf.dll :
<ItemGroup>
<PublishReadyToRunExclude Include="IronPdf.dll" />
</ItemGroup>
<ItemGroup>
<PublishReadyToRunExclude Include="IronPdf.dll" />
</ItemGroup>
Cet extrait XML doit être ajouté à votre fichier de projet (.csproj) pour empêcher que les assemblys spécifiés ne soient précompilés avec ReadyToRun, évitant ainsi d'éventuels problèmes de licence ou de falsification.

