使用 ReadyToRun 或 預先編譯 (AOT)
This article was translated from English: Does it need improvement?
Translated
View 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
理由
根據 Microsoft 文件所述,SDK 會預先編譯隨應用程式分發的組件。 對於獨立應用程式,這組組件將包含框架。 請注意,C#/CLI 二進位檔不適用於 ReadyToRun 編譯。
解決方案
若要將特定組件排除在 ReadyToRun 處理之外,請在專案檔案中使用 <PublishReadyToRunExclude> 清單。例如,若要排除 IronPdf.dll 組件:
<ItemGroup>
<PublishReadyToRunExclude Include="IronPdf.dll" />
</ItemGroup>
<ItemGroup>
<PublishReadyToRunExclude Include="IronPdf.dll" />
</ItemGroup>
XML
請將此 XML 片段新增至您的專案檔案 (.csproj),以防止指定的組件透過 ReadyToRun 預先編譯,從而避免潛在的授權或篡改問題。
準備開始了嗎?
Nuget 下載 19,014,616 | 版本: 2026.5 just released

