IRONSOFTWAREHOME

System.Environment.FailFast with ReadyToRun

Curtis Chau
Curtis Chau
Updated: 29 de junho de 2026

Um aplicativo .NET trava no momento em que toca em uma classe IronPDF, terminando por meio de System.Environment.FailFast na inicialização ou durante a inicialização inicial. Quando o aplicativo é publicado com a compilação ReadyToRun (R2R), esse passo antecipado geralmente é a causa. Você mantém ReadyToRun ligado para o aplicativo e exclui IronPdf.dll dele.

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

ReadyToRun compila assemblages antecipadamente para acelerar a inicialização. Em alguns ambientes, esse passo antecipado interfere com bibliotecas que dependem de comportamento de inicialização em tempo de execução, entre elas o IronPDF. O processo pode falhar muito cedo, muitas vezes antes que qualquer registro do IronPDF esteja disponível, por isso nenhum log é escrito antes do travamento.

Este problema aparece apenas no ambiente implantado, tipicamente em aplicativos ASP.NET Core ou hospedados no IIS no Windows (incluindo o Windows Server) direcionando win-x64. A mesma máquina pode comportar-se de forma diferente dentro do IIS do que fora dele. Um caso de produção confirmado rodou o IronPDF 2026.4.1 no .NET 10, um aplicativo web ASP.NET Core sob o IIS (w3wp.exe), no Windows Server 2025 Datacenter no AWS EC2.

Solução

1. Mantenha ReadyToRun ativado

Não há necessidade de desativar ReadyToRun completamente. Se sua aplicação depende dele, deixe a propriedade no lugar:

<PropertyGroup>
  <PublishReadyToRun>true</PublishReadyToRun>
</PropertyGroup>
XML

2. Exclua IronPdf.dll da compilação ReadyToRun

Adicione a exclusão ao seu .csproj:

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

Esta única linha é o que restaura o comportamento normal: ela permite que o resto do aplicativo seja compilado R2R enquanto deixa o IronPDF inicializar em tempo de execução como esperado.

Cuidado: Use a sintaxe exata mostrada. Não envolva a exclusão dentro de outro bloco <PublishReadyToRunExclude>.

3. Exemplo completo de .csproj

Um arquivo de projeto funcional fica assim:

<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

4. Republicar e relançar

Com o arquivo de projeto atualizado, envie uma nova compilação:

Reconstrua o aplicativo. Republica-o para o tempo de execução pretendido, como win-x64. Reimplante a compilação atualizada. Reinicie o site do IIS ou recicle o Pool de Aplicativos. Teste o mesmo caminho de código do IronPDF novamente.

No caso de produção confirmado, excluir IronPdf.dll da compilação ReadyToRun eliminou o acidente System.Environment.FailFast e o aplicativo funcionou normalmente sob o IIS.

Quando Tentar Esta Correção

Procurar isso quando os sintomas se alinharem:

  • PublishReadyToRun=true: ReadyToRun está ativado no aplicativo publicado.
  • Primeira chamada falha: a falha ocorre no momento em que uma classe IronPDF é tocada.
  • Tempo de inicialização: o erro aparece durante a inicialização ou preparação estática inicial.
  • Host do Windows implantado: o aplicativo roda sob IIS ou outro ambiente do Windows implantado.

Para orientação completa, veja Usando ReadyToRun com IronPDF.

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 21,105,021Versão:2026.9recé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.9

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

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.

OR
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 Iron Suite
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.
Biblioteca NuGet C# para PDF
Instalar com NuGet

Versão: 2026.9

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

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