IRONSOFTWAREHOME

Use a compilação ReadyToRun ou Ahead-Of-Time (AOT).

Curtis Chau
Curtis Chau
Updated: 29 de junho de 2026

O .NET ReadyToRun (R2R) é uma forma de compilação antecipada (AOT).

Habilitar a compilação ReadyToRun durante a implantação pode violar a proteção contra adulteração e resultar em exceções como as seguintes:

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

Razão

De acordo com a documentação da Microsoft, o SDK pré-compilará os assemblies que são distribuídos com o aplicativo. Para aplicações independentes, este conjunto de assemblies incluirá a estrutura. É importante observar que binários C++/CLI não são elegíveis para compilação ReadyToRun.

Solução

Para excluir assemblies específicos do processamento ReadyToRun, use a lista <PublishReadyToRunExclude> em seu arquivo de projeto. Por exemplo, para excluir o assembly IronPdf.dll:

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

Este trecho de XML deve ser adicionado ao seu arquivo de projeto (.csproj) para evitar que os assemblies especificados sejam pré-compilados com ReadyToRun, evitando assim problemas potenciais de licenciamento ou adulteração.

System.Environment.FailFast na Primeira Chamada do IronPDF

Em algumas implementações do Windows, o IronPDF falha no processo imediatamente na primeira chamada do IronPDF sem saída de log em nível de aplicativo. O Log de Eventos do Windows registra uma entrada semelhante 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

Esta é uma falha diferente da exceção de licenciamento acima. O travamento ocorre durante a inicialização estática antes do log normal estar disponível, então não aparecem linhas de log do IronPDF antes do processo terminar.

Este padrão foi confirmado em aplicativos ASP.NET Core hospedados no IIS no Windows Server com PublishReadyToRun ativado. Ele foi reproduzido em:

  • IronPDF 2026.4.1
  • .NET 10
  • IIS (w3wp.exe) on Windows Server 2025 Datacenter
  • AWS EC2 win-x64 alvo de publicação

Solução

Mantenha <PublishReadyToRun>true</PublishReadyToRun> para o aplicativo e exclua somente IronPdf.dll:

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

Um exemplo completo .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

Após atualizar o .csproj, republique o aplicativo, reimplemente-o, e reinicie o site IIS ou recicle o Pool de Aplicativos.

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais bem estruturados e visualmente atraentes.

...
Leia mais

Pronto para começar?

Nuget Downloads 20,756,830Versão:2026.7recém-lançado

Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.
Não é necessário cartão de crédito nem criação de conta.
Biblioteca NuGet C# para PDF
Instalar com NuGet

Versão: 2026.7

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. No Solution Explorer, clique com o botão direito do mouse em Referências e selecione Gerenciar Pacotes NuGet.
  2. Selecione Procurar e pesquise "IronPDF".
  3. Selecione o pacote e instale.
DLL de PDF em C#
Baixar DLL

Versão: 2026.7

ou faça o download do Windows Installer aqui .

  1. Baixe e descompacte o IronPDF em um local como ~/Libs dentro do diretório da sua solução.
  2. No Solution Explorer do Visual Studio, clique com o botão direito do mouse em Referências. Selecione Procurar e digite "IronPDF.dll".

Licenças a partir de US$ 749

Key in blue circle

Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.

Your trial license will be sent to your email address

Sem limitações. 100% desbloqueado. Sem cartão de crédito.

bullet_checkedNão é necessário cartão de crédito nem criação de conta.Sem limitações. 100% desbloqueado. Sem cartão de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Agende sua demonstração ao vivo gratuita.
Booking Badge

Aprovado por milhões de engenheiros em todo o mundo.

Logotipos dos clientes da Iron Software
Agende sua consulta sem compromisso.
Preencha o formulário abaixo ou envie um e-mail para sales@ironsoftware.com
Os seus dados serão sempre mantidos em sigilo.
Aprovado por milhões de engenheiros em todo o mundo.
Logotipos dos clientes da Iron Software
Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.
Não é necessário cartão de crédito nem criação de conta.