IRONSOFTWAREHOME

AccessViolationException Bei Formulaverarbeitung (c0000005)

Curtis Chau
Curtis Chau
Updated: 3. Juli 2026

Während der Verarbeitung von PDF-Formularen kann IronPDF eine gelegentliche einheimische AccessViolationException (Code c0000005) werfen, die sich nicht zuverlässig reproduzieren lässt, selbst bei derselben Eingabedatei. Sie tritt am häufigsten auf, wenn Sie auf PdfDocument.Form zugreifen und während PdfDocument.Flatten und PdfDocument.Merge.

AccessViolationException (0xc0000005)
bad conversion while widening narrow string
Text

Der Absturz kommt von der Interaktion zwischen nativen Formular-Feld-Handles und verwalteter Objektlebensdauer. Wenn die PdfDocument Müll gesammelt oder entsorgt wird, während nativen Formularoperationen noch im Gange sind, greift die native Schicht auf Speicher zu, der bereits freigegeben wurde, was die Zugriffsverletzung produziert.

Die wiederholten "schlechte Konvertierung beim Erweitern von schmalen Zeichenfolgen"-Warnungen sowie Warnungen über das Entfernen von Formularfeld-Anmerkungen während der Flachstellung sind ein separates und harmloses Symptom. Sie stammen aus der Dekodierung von internen AcroForm-Feldzeichenfolgen und Metadaten, die japanische oder Multibyte-Zeichen in einem gegebenen PDF enthalten. Sie deuten nicht auf ein Problem mit japanischer oder allgemeiner Unicode-Unterstützung hin, noch mit japanischen UNC-Dateipfaden.

Lösung

1. Halten Sie das Dokument für die gesamte Operation am Leben

Empfohlen: halten Sie die PdfDocument im Umfang für die gesamte Dauer der Formularverarbeitung. Wickeln Sie es in einen Using-Block, sodass die Lebensdauer explizit wird, und rufen Sie anschließend GC.KeepAlive(doc) nach der Formularfeld-Schleife auf, bevor das Dokument entsorgt wird.

Using doc As IronPdf.PdfDocument = IronPdf.PdfDocument.FromFile(tempPdfPath)
    For Each field In doc.Form
        ' Your form field processing here
    Next
    GC.KeepAlive(doc)
End Using
Text

GC.KeepAlive(doc) stoppt die Laufzeit davon, das Dokument zu sammeln, während native Formularoperationen noch ausgeführt werden, und schließt das Fenster, in dem der native Code auf freigegebenen Speicher zugreifen kann.

2. Entfernen Sie manuelle GC.Collect() Aufrufe

Löschen Sie alle GC.Collect() Aufrufe während der PDF- und Formularverarbeitung. Das Erzwingen der Sammlung mitten in der Operation kann genau das Lebensdauerproblem auslösen, das den Absturz verursacht.

3. Nur x64 anvisieren

Setzen Sie das Projektplattformziel explizit auf x64 und stellen Sie sicher, dass Bevorzugt 32-Bit deaktiviert ist. Das Ausführen als x64 vermeidet die Einschränkungen eines 32-Bit-Prozesses während der nativen Formulararbeit.

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 Handbücher.

...
Weiterlesen

Bereit anzufangen?

Nuget Downloads 21,253,952Version:2026.10gerade veröffentlicht

Erhalten Sie sofort Ihren kostenlosen 30-Tage-Testschlüssel.
Ihr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.
C# NuGet-Bibliothek für PDF
Installation mit NuGet

Version: 2026.10

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. Rechtsklick auf Referenzen, NuGet-Pakete verwalten
  2. Wählen Sie Durchsuchen und suchen Sie nach 'IronPDF'
  3. Paket auswählen und installieren
C# PDF DLL
Download DLL

Version: 2026.10

oder laden Sie den Windows-Installer hier herunter.

  1. Laden Sie IronPDF herunter und entpacken Sie es in ein Verzeichnis wie ~/Libs innerhalb Ihres Lösungsverzeichnisses
  2. Im Visual Studio-Projektmappen-Explorer klicken Sie mit der rechten Maustaste auf Referenzen. Wählen Sie Durchsuchen, "IronPDF.dll"

Lizenzen ab 999 $

Key in blue circle

Holen Sie sich sofort Ihren kostenlosen 30-Tage-Testschlüssel.

Your trial license will be sent to your email address

Keine Einschränkungen. 100 % freigeschaltet. Keine Kreditkarte.

bullet_checkedIhr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.Keine Einschränkungen. 100 % freigeschaltet. Keine Kreditkarte.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Buchen Sie Ihre kostenlose Live-Demo
Booking Badge

Von Millionen von Ingenieur*innen weltweit vertraut

Kundenlogos von Iron Software
Erhalten Sie Ihre unverbindliche Beratung
Ihre Daten werden immer vertraulich behandelt.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Von Millionen von Ingenieur*innen weltweit vertraut
Erhalten Sie sofort Ihren kostenlosen 30-Tage-Testschlüssel.
Ihr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.
C# NuGet-Bibliothek für PDF
Installation mit NuGet

Version: 2026.10

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. Rechtsklick auf Referenzen, NuGet-Pakete verwalten
  2. Wählen Sie Durchsuchen und suchen Sie nach 'IronPDF'
  3. Paket auswählen und installieren
C# PDF DLL
Download DLL

Version: 2026.10

oder laden Sie den Windows-Installer hier herunter.

  1. Laden Sie IronPDF herunter und entpacken Sie es in ein Verzeichnis wie ~/Libs innerhalb Ihres Lösungsverzeichnisses
  2. Im Visual Studio-Projektmappen-Explorer klicken Sie mit der rechten Maustaste auf Referenzen. Wählen Sie Durchsuchen, "IronPDF.dll"

Lizenzen ab 999 $