.NET 8 (Apple Silicon)이 지원하는 macOS에서의 IronPrint

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

Apple Silicon macOS에서 .NET 8 콘솔 앱으로 IronPrint를 실행하는 동안 네이티브 라이브러리가 누락되어 빌드 시 실패할 수 있으며, Printer.GetPrinterNamesAsync()가 런타임에 예외를 발생시킵니다.

System.PlatformNotSupportedException: System.Drawing.Common is not supported on this platform.

macOS는 IronPrint와 System.Drawing가 의존하는 GDI+ 구현 libgdiplus을 제공하지 않으며, 평범한 net8.0 타겟은 macOS 전용 플랫폼 API를 사용할 수 없습니다. 두 가지 문제를 해결해야 합니다.

해결책

1. 네이티브 GDI+ 라이브러리 설치

Windows에서 기본적으로 제공하는 GDI+ 지원이 macOS에서도 가능하도록 Homebrew를 통해 libgdiplus을 설치하십시오:

brew install mono-libgdiplus
brew install mono-libgdiplus
SHELL

이 라이브러리가 없으면 System.Drawing는 호출할 네이티브 백엔드가 없습니다.

2. macOS 프레임워크 타겟

평범한 net8.0 대신 macOS 전용 타겟 프레임워크에서 .csproj를 지시하십시오:

<TargetFramework>net8.0-macos</TargetFramework>
<TargetFramework>net8.0-macos</TargetFramework>
XML

.NET이 크로스 플랫폼 스텁이 아닌 macOS 플랫폼 API를 사용하도록 지시합니다.

경고net8.0-macos는 기본 콘솔 앱 템플릿의 일부가 아닙니다. macOS 워크로드를 설치하거나 macOS 앱 템플릿에서 시작하여 사전 구성된 지원을 받으십시오.

전체 프로젝트 파일은 다음과 같습니다:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net8.0-macos</TargetFramework>
    <Nullable>enable</Nullable>
    <UseSystemDrawing>true</UseSystemDrawing>
  </PropertyGroup>
</Project>
<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net8.0-macos</TargetFramework>
    <Nullable>enable</Nullable>
    <UseSystemDrawing>true</UseSystemDrawing>
  </PropertyGroup>
</Project>
XML

3. 호환 가능한 프린트 API 사용

macOS에서는 Windows 전용 인쇄 경로 대신 ShowPrintDialogAsync()을 호출하여 프린트 작업을 수행하십시오.

Curtis Chau
기술 문서 작성자

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

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

시작할 준비 되셨나요?
Nuget 다운로드 44,051 | 버전: 2026.7 방금 출시
Still Scrolling Icon

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

빠른 증거를 원하시나요? PM > Install-Package IronPrint
샘플을 실행하세요 문서가 프린터로 전송되는 것을 지켜보세요.