Use ReadyToRun or Ahead-Of-Time (AOT) Compilation

This article was translated from English: Does it need improvement?
Translated
View the article in English

.NET ReadyToRun (R2R) 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:

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 bestimmte Assemblys von der ReadyToRun-Verarbeitung auszuschließen, verwenden Sie die <PublishReadyToRunExclude> Liste in Ihrer Projektdatei. Zum Beispiel, um die Assembly IronPdf.dll auszuschließen:

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

Dieses XML-Snippet sollte zu Ihrer Projektdatei (.csproj) hinzugefügt werden, um zu verhindern, dass die angegebenen Assemblys mit ReadyToRun vorkompiliert werden, und somit potenziellen Lizenzierungs- oder Manipulationsproblemen zu entgehen.

Curtis Chau
Technischer Autor

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

Weiterlesen
Bereit anzufangen?
Nuget Downloads 16,154,058 | Version: 2025.11 gerade veröffentlicht