使用 ReadyToRun 编译
启用 ReadyToRun 编译 将触发篡改保护并导致以下异常。
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
原因
根据 Microsoft 文档,SDK 将预编译与应用程序一起分发的程序集。对于独立的应用程序,这套程序集将包括框架。值得注意的是,C++/CLI 二进制文件不符合 ReadyToRun 编译条件。
解决方案
要从 ReadyToRun 处理中排除特定程序集,请使用
<ItemGroup>
<PublishReadyToRunExclude Include="IronPdf.dll" />
</ItemGroup>