IronPDF를 사용하여 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를 실행하세요. <TargetFramework>netcoreapp3.1</TargetFramework>

필수: Visual Studio에서 Azure Function을 생성할 때 기본 "프로세스 내" 구성을 사용하십시오. 최신 버전의 IronPDF는 " 격리된 작업자 모델에서 C# Azure Functions 실행 가이드 "에 설명된 대로 '프로세스 외부' 또는 '격리된 프로세스'에서 실행되는 Azure Functions를 지원합니다. 그러나 이전 버전에서는 이러한 유형의 Azure Functions를 지원하지 않을 수 있습니다.

Azure 기능 다이어그램

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 디렉터리에도 생성하십시오.
  • 기존 파일이 있는 경우 덮어쓰기 여부를 묻는 메시지가 표시되면 덮어쓰기를 선택합니다.

의존성 다이어그램

빌드 후 이벤트

필요한 파일을 로컬 Azure Function bin 디렉터리에 복사하는 프로세스를 자동화하려면 다음 지침에 따라 Visual Studio에서 빌드 후 이벤트를 설정하세요.

  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

이 명령은 다음을 수행합니다.

  • runtimes 디렉토리의 내용을 bin/runtimes 디렉토리로 복사하십시오.
  • /S/E 스위치는 모든 하위 디렉터리와 빈 디렉터리가 포함되도록 합니다.
  • /Y 스위치는 기존 대상 파일을 덮어쓸지 여부를 확인하는 메시지를 표시하지 않도록 합니다.
  • /I 스위치는 대상이 디렉터리가 존재하지 않을 경우 디렉터리라고 가정합니다.
  • /R 스위치는 읽기 전용 파일을 덮어씁니다.
  • /D 스위치는 지정된 날짜 이후에 변경된 파일을 복사합니다.

빌드 후 이벤트 구성

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

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

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

시작할 준비 되셨나요?
Nuget 다운로드 17,527,568 | 버전: 2026.2 방금 출시되었습니다