Utilizar la compilación ReadyToRun o Ahead-Of-Time (AOT)
.NET ReadyToRun (R2R) es una forma de compilación anticipada (AOT).
Habilitar la compilación ReadyToRun durante la implementación podría violar la protección contra manipulaciones y resultar en excepciones como las siguientes:
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 5Motivo
Según la documentación de Microsoft, el SDK precompilará los ensamblados que se distribuyen con la aplicación. Para aplicaciones autónomas, este conjunto de ensamblados incluirá el marco de trabajo. Es importante tener en cuenta que los binarios C++/CLI no son elegibles para la compilación ReadyToRun.
Solución
Para excluir ensamblados específicos del procesamiento ReadyToRun, use la lista <PublishReadyToRunExclude> en su archivo de proyecto. Por ejemplo, para excluir el ensamblado 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>Este fragmento de XML debe agregarse a su archivo de proyecto (.csproj) para evitar que los ensamblados especificados sean precompilados con ReadyToRun, evitando así posibles problemas de licencia o manipulación.






