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");
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.

