# ReadyToRun veya Zamanında Ön Derleme (AOT) Kullanma
[.NET ReadyToRun (R2R)](https://learn.microsoft.com/en-us/dotnet/core/deploying/ready-to-run), zamanında ön planlanan (AOT) bir derleme biçimidir.
Dağıtım sırasında ReadyToRun derlemeyi etkinleştirmek, kurcalama korumasını ihlal edebilir ve aşağıdaki gibi istisnalara neden olabilir:
```txt
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
```
### Neden
Microsoft belgelerine göre, SDK, uygulama ile dağıtılan bütünleştirilmiş kodları ön derleyecektir. Bağımsız uygulamalar için, bu montajlar seti çerçeveyi içerecek. C++/CLI ikili dosyalarının ReadyToRun derlemesi için uygun olmadığını belirtmek önemlidir.
### Çözüm
HazırÇalıştır işlemesinden belirli derlemeleri hariç tutmak için proje dosyanızdaki `<PublishReadyToRunExclude>` listesini kullanın. Örneğin, `IronPdf.dll` derlemesini hariç tutmak için:
```xml
<ItemGroup>
<!-- Excludes IronPdf.dll from ReadyToRun compilation -->
<PublishReadyToRunExclude Include="IronPdf.dll" />
</ItemGroup>
```
Bu XML parçacığı, belirtilen derlemelerin HazırÇalıştır ile önceden derlenmesini önlemek ve bu sayede potansiyel lisanslama veya kurcalama sorunlarının önüne geçmek için proje dosyanıza (`.csproj`) eklenmelidir.
## Sist. Ortam.FailFast İlk IronPDF Çağrısında
Bazı Windows dağıtımlarında, IronPDF ilk IronPDF çağrısında uygulama seviyesinde günlük çıktısı olmadan işlemi anında çökertir. Windows Olay Günlüğü benzer bir giriş kaydeder:
```txt
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[])
```
Bu, yukarıdaki lisanslama istisnasından farklı bir başarısızlıktır. Çökme, normal loglama kullanılabilir hale gelmeden önce, statik başlatma sırasında gerçekleşir, bu nedenle işlem sonlanmadan önce IronPDF günlük satırları görünmez.
Bu desen, Windows Server üzerindeki IIS'de barındırılan ASP.NET Core uygulamalarında `PublishReadyToRun` etkinleştirildiğinde doğrulanmıştır. Yapıyabilir:
- IronPDF 2026.4.1
- .NET 10
- Windows Server 2025 Datacenter'deki IIS (`w3wp.exe`)
- AWS EC2 `win-x64` yayımlama hedefi
### Çözüm
Uygulama için `<PublishReadyToRun>true</PublishReadyToRun>` saklayın ve yalnızca `IronPdf.dll` hariç tutun:
```xml
<ItemGroup>
<PublishReadyToRunExclude Include="IronPdf.dll" />
</ItemGroup>
```
Tam bir `.csproj` örneği:
```xml
<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>
```
Güncellemeyi `.csproj` yaptıktan sonra, uygulamayı yeniden yayınlayın, CD BYU yapın ve IIS sitesini yeniden başlatın veya Uygulama Havuzunu geri dönüştürün.
Dağıtım sırasında ReadyToRun derlemeyi etkinleştirmek, kurcalama korumasını ihlal edebilir ve aşağıdaki gibi istisnalara neden olabilir:
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
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
Neden
Microsoft belgelerine göre, SDK, uygulama ile dağıtılan bütünleştirilmiş kodları ön derleyecektir. Bağımsız uygulamalar için, bu montajlar seti çerçeveyi içerecek. C++/CLI ikili dosyalarının ReadyToRun derlemesi için uygun olmadığını belirtmek önemlidir.
Çözüm
HazırÇalıştır işlemesinden belirli derlemeleri hariç tutmak için proje dosyanızdaki <PublishReadyToRunExclude> listesini kullanın. Örneğin, IronPdf.dll derlemesini hariç tutmak için:
Bu XML parçacığı, belirtilen derlemelerin HazırÇalıştır ile önceden derlenmesini önlemek ve bu sayede potansiyel lisanslama veya kurcalama sorunlarının önüne geçmek için proje dosyanıza (.csproj) eklenmelidir.
Sist. Ortam.FailFast İlk IronPDF Çağrısında
Bazı Windows dağıtımlarında, IronPDF ilk IronPDF çağrısında uygulama seviyesinde günlük çıktısı olmadan işlemi anında çökertir. Windows Olay Günlüğü benzer bir giriş kaydeder:
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[])
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
Bu, yukarıdaki lisanslama istisnasından farklı bir başarısızlıktır. Çökme, normal loglama kullanılabilir hale gelmeden önce, statik başlatma sırasında gerçekleşir, bu nedenle işlem sonlanmadan önce IronPDF günlük satırları görünmez.
Bu desen, Windows Server üzerindeki IIS'de barındırılan ASP.NET Core uygulamalarında PublishReadyToRun etkinleştirildiğinde doğrulanmıştır. Yapıyabilir:
IronPDF 2026.4.1
.NET 10
Windows Server 2025 Datacenter'deki IIS (w3wp.exe)
AWS EC2 win-x64 yayımlama hedefi
Çözüm
Uygulama için <PublishReadyToRun>true</PublishReadyToRun> saklayın ve yalnızca IronPdf.dll hariç tutun:
Güncellemeyi .csproj yaptıktan sonra, uygulamayı yeniden yayınlayın, CD BYU yapın ve IIS sitesini yeniden başlatın veya Uygulama Havuzunu geri dönüştürün.
Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapılandırılmış, görsel olarak çekici kılavuzlar oluşturmayı seviyor.