Behebung von IronPdfEngine Docker-Verbindungsfehlern auf macOS ARM
Beim Verbinden einer .NET-Anwendung mit IronPdfEngine über Docker auf einem macOS ARM-Gerät (Apple Silicon) wirft die Anwendung:
Unhandled exception. System.IO.FileNotFoundException: Error loading native library.
Not found in any of the possible locations
IronPdfConnectionType.Docker verwendet eine ältere gRPC-Implementierung, die die ARM-Architektur nicht unterstützt. Auf macOS ARM (Apple Silicon) kann der .NET-Client das erforderliche native gRPC-Binary nicht laden, selbst wenn das Docker-Image gezwungen wird, als --platform linux/amd64 zu laufen. Windows- und Linux x64-Plattformen sind nicht betroffen.
Lösung
Ersetzen Sie IronPdfConnectionType.Docker durch IronPdfConnectionType.RemoteServer in der Verbindungskonfiguration. RemoteServer verwendet eine neuere gRPC-Implementierung, die ARM-kompatibel ist:
using IronPdf;
var config = new IronPdfConnectionConfiguration
{
ConnectionType = IronPdfConnectionType.RemoteServer,
Host = "http://127.0.0.1",
Port = 33350
};
IronPdf.Installation.ConnectToIronPdfHost(config);
IronPdf.License.LicenseKey = Environment.GetEnvironmentVariable("IRONPDF_LICENSE_KEY");
var renderer = new ChromePdfRenderer();
var pdf = await renderer.RenderHtmlAsPdfAsync("<h1>Hello from IronPdfEngine</h1>");
pdf.SaveAs("output.pdf");Imports IronPdf
Dim config As New IronPdfConnectionConfiguration With {
.ConnectionType = IronPdfConnectionType.RemoteServer,
.Host = "http://127.0.0.1",
.Port = 33350
}
IronPdf.Installation.ConnectToIronPdfHost(config)
IronPdf.License.LicenseKey = Environment.GetEnvironmentVariable("IRONPDF_LICENSE_KEY")
Dim renderer As New ChromePdfRenderer()
Dim pdf = Await renderer.RenderHtmlAsPdfAsync("<h1>Hello from IronPdfEngine</h1>")
pdf.SaveAs("output.pdf")Anforderungen:
- Der IronPdfEngine Docker-Container muss laufen und über den angegebenen Host und Port erreichbar sein, bevor Sie
ConnectToIronPdfHostaufrufen. - Verwenden Sie
http://, nichthttps://; Die Verwendung vonhttps://ohne ein gültiges SSL-Zertifikat verursacht Frame-Korruptionsfehler im gRPC-Kanal.
Siehe auch: Fehlerbehebung bei Vulkan/ANGLE-Initialisierungsfehlern in Docker und Behebung von gRPC-Verbindungsfehlern in Azure Containern.

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender Handbücher.