Depurando Funções do Azure na Máquina Local com o IronOCR

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

Problemas ao executar o Azure localmente

As exceções comuns observadas ao se deparar com esse problema são:

  • Erro ao implantar o Tesseract para IronOCR
  • Falha ao localizar 'libtesseract-5'
  • Não foi possível localizar 'libtesseract-5'
  • Falha ao localizar o Tesseract-5
  • Erro ao localizar o arquivo de configuração de implantação em \bin\runtimes\win-x64\native\ IronOCR
  • IronOCR: Arquivo .traineddata ausente para 'EnglishBest', que deveria estar localizado em

Problema com dependências ao executar o Azure Functions localmente

Ao executar o Azure localmente, usando o Azurite (VS2022) ou o Emulador de Armazenamento do Azure (VS2019), um diretório bin adicional é criado e usado pelo Emulador de Armazenamento para a implantação. Somente os arquivos DLL são copiados para este diretório, portanto, softwares que exigem arquivos adicionais não funcionarão e poderão gerar a exceção acima.

Você pode resolver esse problema copiando o diretório de tempos de execução para o diretório bin separado usado pelo Emulador de Armazenamento. Recomendamos realizar isso como um evento pós-compilação (veja as instruções abaixo) ao executar localmente (pois a recompilação/compilação retornará o diretório bin ao seu estado original). Você não encontrará esse problema ao implantar na nuvem.

Problema: Ao executar um projeto do Azure Functions localmente, é criada uma pasta bin adicional, a partir da qual a função é executada. No entanto, ele não copia todos os arquivos necessários para a pasta bin mencionada. Exemplo: Um projeto em C:\code\azure-functions-test que é compilado para C:\code\azure-functions-test\bin\Debug\netcoreapp3.1

  • Solução: Copie o diretório C:\code\azure-functions-test\bin\Debug\netcoreapp3.1\runtimes para que ele também exista dentro de C:\code\azure-functions-test\bin\Debug\netcoreapp3.1\bin
  • Sobrescrever quaisquer arquivos existentes, se solicitado.

File V9pZPFGwDl related to Problema com dependências ao executar o Azure Functions localmente

Etapas do evento pós-construção

  1. Clique com o botão direito do mouse no projeto do Azure Functions e selecione Propriedades.
  2. Desça a página até a seção Eventos.
  3. Insira um comando de evento pós-compilação que copiará todos os arquivos necessários para o diretório correto:

    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
    • Explicação:
      • XCOPY é usado para copiar arquivos e árvores de diretórios.
      • $(TargetDir)runtimes é o diretório de origem onde os arquivos de runtime são inicialmente compilados.
      • $(TargetDir)bin\runtimes é o diretório de destino para os arquivos de runtime quando a aplicação é executada localmente.
      • Opções:
      • /S copia diretórios e subdiretórios, exceto os vazios.
      • /E copia todos os subdiretórios, incluindo os vazios.
      • /Y suprime a confirmação para sobrescrever arquivos existentes.
      • /I se o destino não existir e estiver copiando mais de um arquivo, assume que o destino deve ser um diretório.
      • /R sobrescreve arquivos de somente leitura.
      • /D copia apenas arquivos que são mais novos ou que estão faltando no destino.

File R3HdEFPHAL related to Etapas do evento pós-construção

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais ...

Leia mais
Pronto para começar?
Nuget Downloads 5,525,971 | Versão: 2026.3 acaba de ser lançado
Still Scrolling Icon

Ainda está rolando a tela?

Quer provas rápidas? PM > Install-Package IronOcr
executar um exemplo Veja sua imagem se transformar em texto pesquisável.