# Benutzen Sie ReadyToRun oder AOT-Kompilierung
[.NET ReadyToRun (R2R)](https://learn.microsoft.com/en-us/dotnet/core/deploying/ready-to-run) ist eine Form der Ahead-Of-Time (AOT) Compilation.
Die Aktivierung der ReadyToRun-Kompilierung während der Bereitstellung könnte den Manipulationsschutz verletzen und zu Ausnahmen wie den folgenden führen:
```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
```
### Grund
Laut Microsoft-Dokumentation wird das SDK die mit der Anwendung verteilten Assemblys vorkompilieren. Bei selbstenthaltenen Anwendungen wird dieser Satz von Assemblys das Framework umfassen. Es ist wichtig zu beachten, dass C++/CLI-Binärdateien nicht für die ReadyToRun-Kompilierung geeignet sind.
### Lösung
Um spezifische Assemblies von der ReadyToRun-Verarbeitung auszuschließen, verwenden Sie die `<PublishReadyToRunExclude>`-Liste in Ihrer Projektdatei. Zum Beispiel, um die `IronPdf.dll`-Assembly auszuschließen:
```xml
<ItemGroup>
<!-- Excludes IronPdf.dll from ReadyToRun compilation -->
<PublishReadyToRunExclude Include="IronPdf.dll" />
</ItemGroup>
```
Dieser XML-Ausschnitt sollte Ihrer Projektdatei (`.csproj`) hinzugefügt werden, um zu verhindern, dass die angegebenen Assemblies mit ReadyToRun vorkompiliert werden, wodurch potenzielle Lizenz- oder Manipulationsprobleme vermieden werden.
## System.Environment.FailFast bei erstem IronPDF-Aufruf
Bei einigen Windows-Bereitstellungen stürzt IronPDF den Prozess unmittelbar bei dem ersten IronPDF-Aufruf ab, ohne dass Anwendungsprotokollausgaben vorhanden sind. Das Windows-Ereignisprotokoll verzeichnet einen Eintrag ähnlich zu:
```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[])
```
Dies ist ein anderer Fehler als die oben genannte Lizenzierungsausnahme. Der Absturz tritt während der statischen Initialisierung auf, bevor normales Logging verfügbar ist, sodass keine IronPDF-Protokollzeilen erscheinen, bevor der Prozess terminiert.
Dieses Muster wurde in ASP.NET Core-Anwendungen bestätigt, die in IIS auf Windows Server mit `PublishReadyToRun` aktiviert gehostet werden. Es wurde reproduziert auf:
- IronPDF 2026.4.1
- .NET 10
- IIS (`w3wp.exe`) on Windows Server 2025 Datacenter
- AWS EC2 `win-x64` Veröffentlichungsziel
### Lösung
Behalten Sie `<PublishReadyToRun>true</PublishReadyToRun>` für die Anwendung bei und schließen Sie nur `IronPdf.dll` aus:
```xml
<ItemGroup>
<PublishReadyToRunExclude Include="IronPdf.dll" />
</ItemGroup>
```
Ein vollständiges `.csproj`-Beispiel:
```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>
```
Nach der Aktualisierung der `.csproj` das Programm neu veröffentlichen, erneut bereitstellen und die IIS-Site neu starten oder den Anwendungspool recyceln.
Die Aktivierung der ReadyToRun-Kompilierung während der Bereitstellung könnte den Manipulationsschutz verletzen und zu Ausnahmen wie den folgenden führen:
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
Grund
Laut Microsoft-Dokumentation wird das SDK die mit der Anwendung verteilten Assemblys vorkompilieren. Bei selbstenthaltenen Anwendungen wird dieser Satz von Assemblys das Framework umfassen. Es ist wichtig zu beachten, dass C++/CLI-Binärdateien nicht für die ReadyToRun-Kompilierung geeignet sind.
Lösung
Um spezifische Assemblies von der ReadyToRun-Verarbeitung auszuschließen, verwenden Sie die <PublishReadyToRunExclude>-Liste in Ihrer Projektdatei. Zum Beispiel, um die IronPdf.dll-Assembly auszuschließen:
Dieser XML-Ausschnitt sollte Ihrer Projektdatei (.csproj) hinzugefügt werden, um zu verhindern, dass die angegebenen Assemblies mit ReadyToRun vorkompiliert werden, wodurch potenzielle Lizenz- oder Manipulationsprobleme vermieden werden.
System.Environment.FailFast bei erstem IronPDF-Aufruf
Bei einigen Windows-Bereitstellungen stürzt IronPDF den Prozess unmittelbar bei dem ersten IronPDF-Aufruf ab, ohne dass Anwendungsprotokollausgaben vorhanden sind. Das Windows-Ereignisprotokoll verzeichnet einen Eintrag ähnlich zu:
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
Dies ist ein anderer Fehler als die oben genannte Lizenzierungsausnahme. Der Absturz tritt während der statischen Initialisierung auf, bevor normales Logging verfügbar ist, sodass keine IronPDF-Protokollzeilen erscheinen, bevor der Prozess terminiert.
Dieses Muster wurde in ASP.NET Core-Anwendungen bestätigt, die in IIS auf Windows Server mit PublishReadyToRun aktiviert gehostet werden. Es wurde reproduziert auf:
IronPDF 2026.4.1
.NET 10
IIS (w3wp.exe) on Windows Server 2025 Datacenter
AWS EC2 win-x64 Veröffentlichungsziel
Lösung
Behalten Sie <PublishReadyToRun>true</PublishReadyToRun> für die Anwendung bei und schließen Sie nur IronPdf.dll aus:
Nach der Aktualisierung der .csproj das Programm neu veröffentlichen, erneut bereitstellen und die IIS-Site neu starten oder den Anwendungspool recyceln.
Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender Handbücher.