Behebung von IronPdfEngine Docker-Verbindungsfehlern auf macOS ARM

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

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")
$vbLabelText   $csharpLabel

Anforderungen:

  • Der IronPdfEngine Docker-Container muss laufen und über den angegebenen Host und Port erreichbar sein, bevor Sie ConnectToIronPdfHost aufrufen.
  • Verwenden Sie http://, nicht https://; Die Verwendung von https:// 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
Technischer Autor

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 ...

Weiterlesen
Bereit anzufangen?
Nuget Downloads 20,088,359 | Version: 2026.7 gerade veröffentlicht
Still Scrolling Icon

Scrollst du immer noch?

Sie brauchen schnell einen Beweis? PM > Install-Package IronPdf
Führen Sie eine Probe aus Sehen Sie zu, wie Ihr HTML-Code in eine PDF-Datei umgewandelt wird.