IronPrint의 ShowPrintDialog 동작 (2024.9 이후)

Curtis Chau
Curtis Chau
Updated: 2026년 6월 29일

ShowPrintDialog 및 ShowPrintDialogAsync는 지원되지 않는 타겟 프레임워크에서 호출될 때 더 이상 예외를 발생시키지 않습니다. 버전 2024.9부터 이들은 경고를 기록하고 대신 PrintAsync()로 넘어갑니다.

이 변경 이전에 호환 가능한 TargetFramework 없이 메서드를 호출하면 다음과 같은 오류가 발생했습니다:

System.AggregateException: 'One or more errors occurred.
(Please try Print/PrintAsync since ShowPrintDialog/ShowPrintDialogAsync in NET Core or NET Standard,
it required UI component so please set more specific OS TargetFrameworks
e.g. net462; net472; net7.0-windows; net7.0-macos; net7.0-maccatalyst; net7.0-android)'
Text

대화 상자 메서드에는 UI 컴포넌트가 필요하며 이는 일반 .NET Core 또는 .NET Standard 타겟에서는 사용할 수 없습니다. 이전 빌드는 이를 심각한 실패로 간주하고 예외를 발생시켰습니다. 런타임에서 예외가 방해가 되었기 때문에 2024.9에서 의도적으로 동작을 변경했습니다.

해결책

대체 동작은 자동이지만 올바른 타겟을 선택하여 어떤 경로를 실행할지 제어할 수 있습니다.

1. 자동 대체 경로에 의존하기

지원되지 않는 프레임워크에서 호출은 이제 경고를 기록하고 PrintAsync()로 라우팅되며, 예외는 발생하지 않습니다. 기존 코드는 충돌 없이 계속 실행되지만 인쇄 대화 상자는 표시되지 않습니다.

경고: 대체 동작은 대화 상자 없이 인쇄합니다. 사용자는 지원되지 않는 타겟에서 인쇄 프롬프트를 보지 못하므로 UI 프레임워크를 타겟으로 하지 않는 한 대화 상자가 표시될 것이라 믿지 마십시오.

2. 대화 상자를 위한 UI 지원 프레임워크 타겟

실제 인쇄 대화 상자를 얻으려면 UI 지원을 포함한 OS 특정 타겟을 빌드하십시오:

<TargetFrameworks>net462;net472;net7.0-windows;net7.0-macos;net7.0-maccatalyst;net7.0-android</TargetFrameworks>
XML

이러한 프레임워크 중 하나가 있는 경우 ShowPrintDialog 및 ShowPrintDialogAsync는 예상대로 대화 상자를 표시합니다.

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

더 읽어보기

시작할 준비 되셨나요?

Nuget Downloads 49,171버전:2026.11방금 출시