IRONSOFTWAREHOME

Utilizar la compilación ReadyToRun o Ahead-Of-Time (AOT)

Curtis Chau
Curtis Chau
Updated: 29 de junio de 2026

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

Motivo

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 ensamblajes específicos del procesamiento ReadyToRun, use la lista <PublishReadyToRunExclude> en su archivo de proyecto. Por ejemplo, para excluir el ensamblaje IronPdf.dll:

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

Este fragmento de XML debe añadirse a su archivo de proyecto (.csproj) para evitar que los ensamblajes especificados se precompilen con ReadyToRun, evitando así posibles problemas de licencias o manipulación.

System.Environment.FailFast en la primera llamada de IronPDF

En algunos despliegues de Windows, IronPDF falla el proceso inmediatamente en la primera llamada de IronPDF sin salida de registro a nivel de aplicación. El Registro de eventos de Windows registra una entrada similar a:

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

Este es un fallo diferente al de la excepción de licencia antes mencionada. El fallo ocurre durante la inicialización estática antes de que el registro normal esté disponible, por lo que no aparecen líneas de registro de IronPDF antes de que el proceso termine.

Este patrón ha sido confirmado en aplicaciones ASP.NET Core alojadas en IIS en Windows Server con PublishReadyToRun habilitado. Ha sido reproducido en:

  • IronPDF 2026.4.1
  • .NET 10
  • IIS (w3wp.exe) on Windows Server 2025 Datacenter
  • Objetivo de publicación AWS EC2 win-x64

Solución

Mantenga <PublishReadyToRun>true</PublishReadyToRun> para la aplicación y excluya solo IronPdf.dll:

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

Un ejemplo completo de .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

Después de actualizar el .csproj, vuelva a publicar la aplicación, redepliegue y reinicie el sitio de IIS o recicle el Application Pool.

Curtis Chau
Escritor Técnico

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien estructurados y visualmente atractivos.

...
Leer más

¿Listo para empezar?

Nuget Downloads 21,105,021Versión:2026.9recién publicada

Obtenga su Clave de Prueba de 30 días gratis al instante.
No se requiere tarjeta de crédito ni creación de cuenta
Biblioteca C# NuGet para PDF
Instalar con NuGet

Versión: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. En el Explorador de Soluciones, haga clic derecho en Referencias, Administrar Paquetes NuGet
  2. Seleccione Examinar y busque "IronPDF"
  3. Seleccione el paquete e instale
C# PDF DLL
Descargar DLL

Versión: 2026.9

o descargue el Instalador de Windows aquí.

  1. Descargue y descomprima IronPDF en una ubicación como ~/Libs dentro del directorio de su solución
  2. En el Explorador de Soluciones de Visual Studio, haga clic derecho en Referencias. Seleccione Examinar, "IronPDF.dll"

Licencias desde $999

Key in blue circle

Obtenga su clave de prueba gratuita de 30 días al instante.

Your trial license will be sent to your email address

Sin limitaciones. 100 % desbloqueado. Sin tarjeta de crédito.

OR
bullet_checkedNo se requiere tarjeta de crédito ni creación de cuentaSin limitaciones. 100 % desbloqueado. Sin tarjeta de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
Reserve su Demostración en Vivo gratuita
Booking Badge

Confiado por millones de ingenieros en todo el mundo

Logos de clientes de Iron Software
Obtén tu Consulta Sin Compromiso
Completa el formulario a continuación o envía un correo a sales@ironsoftware.com
Tus detalles siempre serán mantenidos confidenciales.
Confiado por millones de ingenieros en todo el mundo
Logos de clientes de Iron Software
Obtenga su Clave de Prueba de 30 días gratis al instante.
No se requiere tarjeta de crédito ni creación de cuenta
Biblioteca C# NuGet para PDF
Instalar con NuGet

Versión: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. En el Explorador de Soluciones, haga clic derecho en Referencias, Administrar Paquetes NuGet
  2. Seleccione Examinar y busque "IronPDF"
  3. Seleccione el paquete e instale
C# PDF DLL
Descargar DLL

Versión: 2026.9

o descargue el Instalador de Windows aquí.

  1. Descargue y descomprima IronPDF en una ubicación como ~/Libs dentro del directorio de su solución
  2. En el Explorador de Soluciones de Visual Studio, haga clic derecho en Referencias. Seleccione Examinar, "IronPDF.dll"

Licencias desde $999