Depuración de funciones de Azure en una máquina local con IronOCR

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

Problemas al ejecutar Azure localmente

Las excepciones comunes que se ven al encontrar este problema son:

  • Error al implementar Tesseract para IronOcr
  • No se pudo encontrar 'libtesseract-5'
  • No se puede encontrar 'libtesseract-5'
  • Falló al localizar Tesseract-5
  • Error al localizar el archivo de configuración de implementación en \bin\runtimes\win-x64\native\IronOCR.Native.deployment.json
  • IronOcr: Falta el archivo .traineddata para 'EnglishBest', que debería estar ubicado en

Problema con las dependencias al ejecutar Azure Functions localmente

Al ejecutar Azure localmente, usando Azurite (VS2022) o el Emulador de Almacenamiento de Azure (VS2019), se crea un directorio bin adicional que el Emulador de Almacenamiento utiliza para el despliegue. Solo los archivos DLL se copian en este directorio, por lo que el software que requiere archivos adicionales no funcionará y puede lanzar la excepción mencionada anteriormente.

Puede resolver este problema copiando el directorio de runtimes en el directorio bin separado utilizado por el Emulador de Almacenamiento. Recomendamos hacer esto como un evento posterior a la compilación (ver instrucciones a continuación) al ejecutar localmente (ya que recompilar/construir devolverá el directorio bin a su estado original). No encontrará este problema al implementar en la nube.

  • Problema: Al ejecutar un proyecto de Azure Function localmente, crea una carpeta bin adicional desde la cual ejecuta la función. Sin embargo, no copia todos los archivos necesarios en dicha carpeta bin.
  • Ejemplo: Un proyecto en C:\code\azure-functions-test que se compila en C:\code\azure-functions-test\bin\Debug\netcoreapp3.1
  • Solución: Copie el directorio C:\code\azure-functions-test\bin\Debug\netcoreapp3.1\runtimes para que también exista dentro de C:\code\azure-functions-test\bin\Debug\netcoreapp3.1\bin
  • Sobrescriba cualquier archivo existente si se le solicita

File V9pZPFGwDl related to Problema con las dependencias al ejecutar Azure Functions localmente

Pasos posteriores al evento de construcción

  1. Haz clic derecho en el proyecto Azure Functions, selecciona Propiedades.
  2. Desplázate hacia abajo hasta la sección de Eventos.
  3. Ingresa un comando de evento posterior a la compilación que copiará todos los archivos necesarios al directorio correcto:

    XCOPY "$(TargetDir)runtimes" "$(TargetDir)bin\runtimes" /S /E /Y /I /R /D
    XCOPY "$(TargetDir)runtimes" "$(TargetDir)bin\runtimes" /S /E /Y /I /R /D
    SHELL
    • Explicación:
      • XCOPY se utiliza para copiar archivos y árboles de directorios.
      • $(TargetDir)runtimes es el directorio de origen donde inicialmente se compilan los archivos de tiempo de ejecución.
      • $(TargetDir)bin\runtimes es el directorio de destino para los archivos de tiempo de ejecución cuando la aplicación se ejecuta localmente.
      • Opciones:
      • /S copia directorios y subdirectorios, excepto los vacíos.
      • /E copia todos los subdirectorios, incluidos los vacíos.
      • /Y suprime la confirmación para sobrescribir archivos existentes.
      • /I si el destino no existe y se están copiando más de un archivo, asume que el destino debe ser un directorio.
      • /R sobrescribe archivos de solo lectura.
      • /D copia solo archivos que son más nuevos o faltan en el destino.

File R3HdEFPHAL related to Pasos posteriores al evento de construcción

Curtis Chau
Escritor Técnico

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien ...

Leer más
¿Listo para empezar?
Nuget Descargas 5,167,857 | Version: 2025.11 recién lanzado