Użyj ReadyToRun lub kompilacji Ahead-Of-Time (AOT)
.NET ReadyToRun (R2R) to forma kompilacji ahead-of-time (AOT).
Włączenie kompilacji ReadyToRun podczas wdrażania może naruszać ochronę przed manipulacją i powodować wyjątki takie jak poniżej:
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
Przyczyna
Według dokumentacji Microsoft, SDK wstępnie skompiluje zestawy, które są dystrybuowane z aplikacją. W przypadku aplikacji samodzielnych, ten zbiór zestawów będzie zawierał framework. Ważne jest, aby pamiętać, że binaria C++/CLI nie kwalifikują się do kompilacji ReadyToRun.
Rozwiązanie
Aby wykluczyć określone zestawy z przetwarzania ReadyToRun, należy użyć listy <PublishReadyToRunExclude> w pliku projektu. Na przykład, aby wykluczyć zestaw IronPdf.dll:
<ItemGroup>
<PublishReadyToRunExclude Include="IronPdf.dll" />
</ItemGroup>
<ItemGroup>
<PublishReadyToRunExclude Include="IronPdf.dll" />
</ItemGroup>
Ten fragment kodu XML należy dodać do pliku projektu (.csproj), aby zapobiec wstępnej kompilacji określonych zestawów za pomocą ReadyToRun, unikając w ten sposób potencjalnych problemów związanych z licencjami lub manipulacją.

