IronOCR 사용하여 로컬 머신에서 Azure Functions 디버깅하기

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

Azure를 로컬에서 실행할 때 발생하는 문제

이 문제가 발생할 때 흔히 나타나는 예외 사항은 다음과 같습니다.

  • IronOCR 용 Tesseract 배포 중 오류 발생
  • 'libtesseract-5'를 찾을 수 없습니다.
  • 'libtesseract-5'를 찾을 수 없습니다.
  • 테서랙트-5를 찾지 못했습니다
  • \bin\runtimes\win-x64\native\ IronOCR 에서 배포 구성 파일을 찾는 중 오류가 발생했습니다.
  • IronOCR: 'EnglishBest'에 대한 .traineddata 파일이 누락되었습니다. 해당 파일은 다음 위치에 있어야 합니다.

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
    XCOPY "$(TargetDir)runtimes" "$(TargetDir)bin\runtimes" /S /E /Y /I /R /D
    SHELL
    • 설명:
      • XCOPY은 파일과 디렉터리 트리를 복사하는 데 사용됩니다.
      • $(TargetDir)runtimes은 런타임 파일이 초기 컴파일되는 소스 디렉터리입니다.
      • $(TargetDir)bin\runtimes은 애플리케이션이 로컬에서 실행될 때 런타임 파일의 대상 디렉터리입니다.
      • 옵션:
      • /S은 빈 디렉터리를 제외하고 디렉터리와 하위 디렉터리를 복사합니다.
      • /E은 빈 디렉터리를 포함하여 모든 하위 디렉터리를 복사합니다.
      • /Y은 기존 파일을 덮어쓸 시 확인을 억제합니다.
      • 목적지가 존재하지 않고 여러 파일을 복사하는 경우, /I은 목적지가 디렉터리여야 한다고 가정합니다.
      • /R은 읽기 전용 파일을 덮어씁니다.
      • /D은 새로운 파일이나 목적지에 없는 파일만 복사합니다.

File R3HdEFPHAL related to 빌드 후 이벤트 단계

커티스 차우
기술 문서 작성자

커티스 차우는 칼턴 대학교에서 컴퓨터 과학 학사 학위를 취득했으며, Node.js, TypeScript, JavaScript, React를 전문으로 하는 프론트엔드 개발자입니다. 직관적이고 미적으로 뛰어난 사용자 인터페이스를 만드는 데 열정을 가진 그는 최신 프레임워크를 활용하고, 잘 구성되고 시각적으로 매력적인 매뉴얼을 제작하는 것을 즐깁니다.

커티스는 개발 분야 외에도 사물 인터넷(IoT)에 깊은 관심을 가지고 있으며, 하드웨어와 소프트웨어를 통합하는 혁신적인 방법을 연구합니다. 여가 시간에는 게임을 즐기거나 디스코드 봇을 만들면서 기술에 대한 애정과 창의성을 결합합니다.

시작할 준비 되셨나요?
Nuget 다운로드 5,525,971 | 버전: 2026.3 방금 출시되었습니다
Still Scrolling Icon

아직도 스크롤하고 계신가요?

빠른 증거를 원하시나요? PM > Install-Package IronOcr
샘플을 실행하세요 이미지가 검색 가능한 텍스트로 바뀌는 것을 확인해 보세요.