ReadyToRun 또는 AOT(Ahead-Of-Time) 컴파일을 사용하십시오.
.NET ReadyToRun(R2R) 은 사전 컴파일(AOT)의 한 형태입니다.
배포 중에 ReadyToRun 컴파일을 활성화하면 변조 방지 기능이 위반되어 다음과 같은 예외가 발생할 수 있습니다.
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
이유
마이크로소프트 문서에 따르면 SDK는 애플리케이션과 함께 배포되는 어셈블리를 미리 컴파일합니다. 독립형 애플리케이션의 경우, 이러한 어셈블리 세트에는 프레임워크가 포함됩니다. C++/CLI 바이너리는 ReadyToRun 컴파일 대상이 아니라는 점에 유의해야 합니다.
해결책
특정 어셈블리를 ReadyToRun 처리에서 제외하려면, 프로젝트 파일의 <PublishReadyToRunExclude> 목록을 사용하십시오. 예를 들어, IronPdf.dll 어셈블리를 제외하려면 다음과 같습니다.
<ItemGroup>
<PublishReadyToRunExclude Include="IronPdf.dll" />
</ItemGroup>
<ItemGroup>
<PublishReadyToRunExclude Include="IronPdf.dll" />
</ItemGroup>
지정된 어셈블리가 ReadyToRun으로 사전 컴파일되지 않도록 하려면 이 XML 스니펫을 프로젝트 파일 (.csproj)에 추가해야 하며, 이로 인해 잠재적인 라이선스나 변조 문제를 피할 수 있습니다.
첫 번째 IronPDF 호출에서 System.Environment.FailFast
일부 Windows 배포에서는, IronPDF가 애플리케이션 수준의 로그 출력 없이 첫 번째 IronPDF 호출 시 즉시 프로세스를 중단합니다. Windows 이벤트 로그에는 다음과 유사한 항목이 기록됩니다:
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[])
이는 위의 라이선스 예외와는 다른 실패입니다. 로그 사용 가능 이전 정적 초기화 중에 이 충돌이 발생하므로, 프로세스가 종료되기 전에 IronPDF 로그 라인이 나타나지 않습니다.
이 패턴은 Windows Server의 IIS에서 호스팅되는 ASP.NET Core 애플리케이션에서 PublishReadyToRun 이(가) 활성화된 경우 확인되었습니다. 이는 다음에서 재현되었습니다:
- IronPDF 2026.4.1
- .NET 10
- Windows Server 2025 Datacenter에서 IIS (
w3wp.exe) - AWS EC2
win-x64게시 대상
해결책
애플리케이션에 대해 <PublishReadyToRun>true</PublishReadyToRun> 을(를) 유지하고, IronPdf.dll 만 제외하십시오.
<ItemGroup>
<PublishReadyToRunExclude Include="IronPdf.dll" />
</ItemGroup>
<ItemGroup>
<PublishReadyToRunExclude Include="IronPdf.dll" />
</ItemGroup>
완전한 .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>
<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>
애플리케이션을 업데이트한 후, 애플리케이션을 다시 게시하고, 다시 배포하며, IIS 사이트를 다시 시작하거나 애플리케이션 풀을 재순환하십시오.

