Depuración de funciones de Azure en una máquina local con IronOCR
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

Pasos posteriores al evento de construcción
- Haz clic derecho en el proyecto Azure Functions, selecciona Propiedades.
- Desplázate hacia abajo hasta la sección de Eventos.
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 /DXCOPY "$(TargetDir)runtimes" "$(TargetDir)bin\runtimes" /S /E /Y /I /R /DSHELL- Explicación:
XCOPYse utiliza para copiar archivos y árboles de directorios.$(TargetDir)runtimeses el directorio de origen donde inicialmente se compilan los archivos de tiempo de ejecución.$(TargetDir)bin\runtimeses el directorio de destino para los archivos de tiempo de ejecución cuando la aplicación se ejecuta localmente.- Opciones:
/Scopia directorios y subdirectorios, excepto los vacíos./Ecopia todos los subdirectorios, incluidos los vacíos./Ysuprime la confirmación para sobrescribir archivos existentes./Isi el destino no existe y se están copiando más de un archivo, asume que el destino debe ser un directorio./Rsobrescribe archivos de solo lectura./Dcopia solo archivos que son más nuevos o faltan en el destino.
- Explicación:







