Benutzen Sie ReadyToRun oder AOT-Kompilierung
.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 Liste <PublishReadyToRunExclude> in Ihrer Projektdatei. Um beispielsweise die Assembly IronPdf.dll auszuschließen:
<ItemGroup>
<PublishReadyToRunExclude Include="IronPdf.dll" />
</ItemGroup>
<ItemGroup>
<PublishReadyToRunExclude Include="IronPdf.dll" />
</ItemGroup>
Dieser XML-Ausschnitt sollte Ihrer Projektdatei (.csproj) hinzugefügt werden, um zu verhindern, dass die angegebenen Assemblys mit ReadyToRun vorkompiliert werden, und somit potenzielle Lizenz- oder Manipulationsprobleme zu vermeiden.

