ReadyToRun、または AOT (Ahead-Of-Time) コンパイルを使用する

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処理から除外するには、プロジェクトファイルでIronPdf.dllアセンブリを除外するには、次のように記述します。

<ItemGroup>

    <PublishReadyToRunExclude Include="IronPdf.dll" />
</ItemGroup>
<ItemGroup>

    <PublishReadyToRunExclude Include="IronPdf.dll" />
</ItemGroup>
XML

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

カーティス・チャウ
テクニカルライター

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

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

準備はできましたか?
Nuget ダウンロード 17,803,474 | バージョン: 2026.3 リリース
Still Scrolling Icon

まだスクロールしていますか?

すぐに証拠が欲しいですか? PM > Install-Package IronPdf
サンプルを実行するHTML が PDF に変換されるのを確認します。