IronPrint on macOS with .NET 8 (Apple Silicon)

Curtis Chau
Curtis Chau
Updated: July 21, 2026

IronPrint documents native cross-platform support for Windows, macOS, iOS, and Android via its IronSoftware.System.Drawing dependency. If you hit build or runtime errors running IronPrint in a .NET 8 console app on Apple Silicon macOS, verify your TargetFramework and print API usage against the guidance below before assuming a missing-library issue.

Solution

1. Target a UI-Capable Framework When Showing a Print Dialog

ShowPrintDialog/ShowPrintDialogAsync require a UI-capable target framework to render the dialog. If you only need to send a document to a printer without a dialog, Printer.Print/Printer.PrintAsync do not have this requirement.

<TargetFramework>net7.0-maccatalyst</TargetFramework>
XML
Warning: A UI-capable target framework such as net7.0-macos or net7.0-maccatalyst is not part of the default console app templates. Install the corresponding workload or start from a macOS/Mac Catalyst app template to get preconfigured support. See ShowPrintDialog Behavior in IronPrint for the full list of supported target frameworks.

A complete project file looks like this:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net7.0-maccatalyst</TargetFramework>
    <Nullable>enable</Nullable>
  </PropertyGroup>
</Project>
XML

2. Use a Compatible Print API

On macOS, call Printer.ShowPrintDialogAsync(string, PrintSettings) (or the byte[] overload) rather than relying on Windows-only printing paths:

var settings = new PrintSettings();
await Printer.ShowPrintDialogAsync(filePath, settings);

Curtis Chau holds a Bachelor’s degree in Computer Science (Carleton University) and specializes in front-end development with expertise in Node.js, TypeScript, JavaScript, and React. Passionate about crafting intuitive and aesthetically pleasing user interfaces, Curtis enjoys working with modern frameworks and creating well-structured, visually appealing manuals.

Read More

Ready to Get Started?

Nuget Downloads 49,171Version:2026.11just released