Use ReadyToRun or Ahead-Of-Time (AOT) Compilation

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>
    <!-- Excludes IronPdf.dll from ReadyToRun compilation -->
    <PublishReadyToRunExclude Include="IronPdf.dll" />
</ItemGroup>
<ItemGroup>
    <!-- Excludes IronPdf.dll from ReadyToRun compilation -->
    <PublishReadyToRunExclude Include="IronPdf.dll" />
</ItemGroup>
XML

指定されたアセンブリがReadyToRunで事前コンパイルされるのを防ぐために、このXMLスニペットをプロジェクトファイル (.csproj) に追加してください。これにより、潜在的なライセンスや改ざんの問題を回避できます。

Curtis Chau
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。

準備はいいですか?
Nuget ダウンロード 16,154,058 | バージョン: 2025.11 ただ今リリースされました