ローカルマシンでAzure Functionsプロジェクトのデバッグ

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 をターゲットとする Windows ホスティングの Azure Function Apps を実行netcoreapp3.1

`

必須: Visual Studio で Azure Function を作成する際に、デフォルトの "in-process" 構成を使用してください。 以下のように記載されている通り、最新バージョンのIronPDFは「アウト・オブ・プロセス」または「アイソレーテッドプロセス」で動作するAzure Functionsをサポートします。分離型ワーカーモデルでC# Azure Functionsを実行するためのガイドただし、古いバージョンはこれらの種類のAzure Functionsをサポートしていない可能性があります。

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

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

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

  • 問題: Azure Functions プロジェクトをローカルで実行するとき、それが別の 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 内にも存在するようにコピーします。
  • 上書きの確認が表示された場合、既存のファイルを上書きしてください。

ビルド後イベント

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

  2. イベントセクションまでスクロールダウンしてください

    1. 以下の内容を日本語に翻訳してください:

Post-build eventXCOPY "$を入力(ターゲットディレクトリ)ランタイム" "$(ターゲットディレクトリ)bin/runtimes" /S /E /Y /I /R /D