使用 ReadyToRun 或 Ahead-Of-Time (AOT) 编译。
This article was translated from English: Does it need improvement?
TranslatedView the article in English
.NET ReadyToRun (R2R) 是一种预先(AOT)编译形式。
在部署期间启用 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原因
根据微软文档,SDK 会预编译与应用程序一起分发的程序集。 对于自包含应用程序,这组程序集将包括框架。 重要的是要注意,C++/CLI 二进制文件不适合 ReadyToRun 编译。
解决方案
要从 ReadyToRun 处理中排除特定程序集,请在项目文件中使用 <PublishReadyToRunExclude> 列表。例如,要排除 IronPdf.dll 程序集:
<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
此 XML 代码片段应添加到您的项目文件(.csproj)中,以防止指定的程序集被 ReadyToRun 预编译,从而避免潜在的许可或篡改问题。
准备开始了吗?
Nuget 下载 17,012,929 | 版本: 2025.12 刚刚发布






