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ć konkretne zestawy z przetwarzania ReadyToRun, użyj 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 XML powinien być dodany do pliku projektu (.csproj), aby zapobiec wstępnej kompilacji określonych zestawów z ReadyToRun, unikając w ten sposób potencjalnych problemów z licencjonowaniem lub manipulacją.

