IronPDFでAzureファンクションをローカルでデバッグする

This article was translated from English: Does it need improvement?
Translated
View the article in English

ローカルでAzureを実行する際の問題

この問題に遭遇した際によく見られる例外は「IronPdf.Native.Chrome.deployment.json という展開構成ファイルを見つける際のエラー」です。

推奨: .NET Core 3.1 <TargetFramework>netcoreapp3.1</TargetFramework>をターゲットとするWindowsホストのAzure Function Appsを実行する

必要: Visual Studio で Azure Function を作成する際、デフォルトの"in-process"構成を使用してください。 IronPDFの最新バージョンは、「isolated worker modelでC# Azure Functionsを実行するためのガイド」に記載されているように、Azure Functionsでの「out-of-process」や「isolated process」の実行をサポートしています。しかし、古いバージョンではこれらのタイプのAzure Functionsをサポートしていない可能性があります。

File C0W8T6e0Ah related to ローカルでAzureを実行する際の問題

ローカルで Azure Functions を実行する際の依存関係の問題

Azureをローカルで実行する際、Azurite (VS2022) または Azure Storage Emulator (VS2019) を使用すると、Storage Emulatorがデプロイに使用する追加のbinディレクトリが作成されます。 このディレクトリにはDLLファイルのみがコピーされるため、追加ファイルを必要とするソフトウェアは機能せず、上記の例外が発生する可能性があります。

この問題を解決するには、ランタイムディレクトリをストレージエミュレータで使用される別のbinディレクトリにコピーしてください。 これは、ローカルで実行する際にビルド後イベントとして行うことをお勧めします(手順は下記参照)。再コンパイル/ビルドにより bin ディレクトリが元の状態に戻るためですクラウドにデプロイする際にはこの問題は発生しません。

  • 問題: Azure Functionプロジェクトをローカルで実行すると、追加の_bin_フォルダが作成され、そこから関数が実行されます。 しかし、必要なすべてのファイルがその bin フォルダにコピーされるわけではありません。
  • 例: C:\code\azure-functions-test のプロジェクトが C:\code\azure-functions-test\bin\Debug\netcoreapp3.1 にビルドされます。
  • ソリューション: C:\code\azure-functions-test\bin\Debug\netcoreapp3.1\runtimes ディレクトリをコピーして、C:\code\azure-functions-test\bin\Debug\netcoreapp3.1\bin 内にも存在するようにします。
  • 上書きの確認が表示された場合、既存のファイルを上書きしてください。

    File V9pZPFGwDl related to ローカルで Azure Functions を実行する際の依存関係の問題

ビルド後イベント

  1. Azure Functions プロジェクトを右クリックし、プロパティを選択

  2. スクロールしてイベントセクションまで移動します

  3. ポストビルドイベントXCOPY "$(TargetDir)runtimes" "$(TargetDir)bin/runtimes" /S /E /Y /I /R /D を入力します

    File R3HdEFPHAL related to ビルド後イベント