Fehlerbehebung

Diagnose gängiger Fehler

Jede nachfolgende Meldung ist der wörtliche Text, den Doconut erzeugt, organisiert nach Symptom. Finden Sie Ihren Fehler und wenden Sie die Lösung an.

Der Viewer zeigt nichts

Leerer Viewer-Bereich, Browser-Konsole voller 404‑Fehler für /doconut-res/... UseDoconutResources() fehlt, oder steht nach UseDoconut(). Es muss zuerst in der Pipeline aufgerufen werden.

HTTP 500 mit:

text
Session middleware not configured. Call UseSession() before UseDoconut().

Doconuts Token‑Sicherheit (standardmäßig aktiviert) benötigt ASP.NET‑Session‑State. Fügen Sie builder.Services.AddSession() und app.UseSession() vor dem Doconut‑Middleware‑Zweig hinzu.

Ein Fehlermotiv im Seitenbereich mit dem Text:

text
You Are Not Authorized To View This Page.

Das Token wurde von einer anderen Browsersitzung geöffnet. Typische Ursachen: Das Session‑Cookie erreicht die Seitenanfragen nicht (Cross‑Origin‑Setup, SameSite‑Richtlinie, ein API‑Client ohne Cookie‑Jar) oder die Anwendung wurde neu gestartet (neue Session‑Schlüssel). Dies ist die Sicherheitsschicht, die wie vorgesehen funktioniert — siehe Kernkonzepte → Sitzungen & Sicherheit.

Ein Fehlermotiv mit dem Text:

text
Document session not found. Please re-open document.

Das Token ist abgelaufen (gleitendes Fenster, Standard 60 Minuten — DocOptions.TimeOut) oder die Sitzung wurde geschlossen. Öffnen Sie das Dokument erneut, um ein frisches Token zu erhalten.

Öffnen eines Dokuments schlägt fehl

LicenseException mit einer Ablehnungsnachricht — die Lizenzdatei wurde gefunden, aber abgelehnt (ungültige Signatur, manipuliert, auf der schwarzen Liste oder ein Build außerhalb des Versions‑/Update‑Fensters der Lizenz). Dieser Zustand blockiert das Öffnen (Fail‑Fast) anstatt zu einem Wasserzeichen zu degradieren; lesen Sie License.RejectionMessage für den Grund.

LicenseException:

text
This document type requires the 'Dicom' plugin license.

Die Erweiterung wird nur von einem Plugin (hier: DICOM) verarbeitet und die Fähigkeit ist nicht mehr gewährt. Registrieren Sie das Plugin und prüfen Sie lic.IsCapabilityGranted(LicenseCapability.Dicom). Ein fehlendes oder unzureichendes nicht‑temporäres Recht führt normalerweise bereits früher bei AddDoconut() zum Fehlschlag.

FormatNotSupportedException:

text
Document format '<extension>' is not supported.

Kein Viewer — eingebaut, Plugin oder benutzerdefiniert — unterstützt diese Erweiterung. Prüfen Sie die Liste der unterstützten Formate; für eigene Formate kann DoconutOptions.RegisterViewer einen hinzufügen.

InvalidDataException — der Dateiinhalte ist beschädigt oder stimmt nicht mit der Erweiterung überein (z. B. eine umbenannte Datei). Validieren Sie Uploads, bevor Sie sie öffnen.

InvalidOperationException:

text
No IDocumentConverter is registered. Add the converter plugin: options.AddPlugin<Doconut.Plugins.Converter.ConverterPlugin>().

Sie haben DocumentConverter aufgelöst, ohne das Converter‑Plugin zu registrieren.

Startvorgang schlägt fehl

InvalidOperationException mit Hinweis auf ein über AddPlugin registriertes Plugin — die aktuelle nicht‑temporäre Lizenz gewährt diese Plugin‑Fähigkeit nicht. Entfernen Sie die Registrierung oder installieren Sie eine Lizenz, die sie gewährt. Eine fehlende Lizenz und eine veraltete TRIAL‑Datei gewähren keine Plugin‑Fähigkeiten.

ArgumentException von AddDoconut():

text
DoconutOptions.MiddlewarePath must be a non-empty path starting with '/'.
DoconutOptions.ResourcesPath must be a non-empty path starting with '/'.
DoconutOptions.MiddlewarePath and ResourcesPath must be different paths.

Fehlgeschlagene Optionenvalidierung — korrigieren Sie den fehlerhaften Pfad.

Build‑/Abhängigkeitsfehler

Compiler‑Fehler CS1705 oder zur Laufzeit beim Öffnen eines Dokuments:

text
Could not load file or assembly 'System.Text.Json, Version=10.0.0.0'

Ihr Projekt hat System.Text.Json / System.Text.Encodings.Web unter 10.0.x festgelegt. Entfernen Sie das Downgrade und lassen Sie NuGet die von Doconut.NET8 deklarierten Versionen wiederherstellen.

TypeInitializationException bei der ersten Präsentationsdatei:

text
Could not load ... System.Drawing.Common, Version=6.0.0.0

Die Präsentations‑Engine erfordert zwingend System.Drawing.Common 6.0.0 (vom Paket deklariert). Entfernen oder überschreiben Sie diese Abhängigkeit nicht — jedes Öffnen von PPT/PPTX/PPS/POT/ODP schlägt ohne sie fehl.

Ausgabe sieht falsch aus

Seiten enthalten ein Wasserzeichen — die Anwendung befindet sich im Evaluierungsmodus: keine Lizenzdatei gefunden, ein abgelaufenes temporäres oder Abonnement‑Fenster, oder eine ungültige Domain. Prüfen Sie IDoconutLicenseService (License.IsLicenseFileFound, IsExpired, IsVersionValid, IsValidForDomain, License.RejectionMessage) — die Lizenzierungsseite zeigt eine fertige Endpunkt‑Referenz.

Legacy‑Dokumente rendern verstümmelten Text — Code‑Page‑Kodierungen werden standardmäßig in .NET 8 nicht geladen. Fügen Sie einmal beim Start hinzu:

csharp
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);

Falsche oder ersetzte Schriftarten unter Linux/Docker — der Container hat nicht die Schriftarten des Dokuments. Zeigen Sie FontFolders (auf WordConfig/PptConfig) auf ein gemountetes Schriftarten‑Verzeichnis.

Präsentationen öffnen, aber unter Linux/macOS nicht rendern — der aktuelle PPT/PPTX/PPS/POT/ODP‑Renderer benötigt das native libgdiplus plus System.Drawing.EnableUnixSupport=true. Das Paket liefert System.Drawing.Common 6.0.0, da dies die letzte Version ist, die diesen Schalter unterstützt.

Funktion funktionierte in der Evaluation, ist in der Produktion still

Die klassische Überraschung beim Go‑Live: eine aktive temporäre Lizenz gewährt jede Fähigkeit; Ihre gekaufte Lizenz gewährt nur das, was Sie erworben haben. Such‑ und Anmerkungs‑Bundles können verschwinden, wenn ihre Fähigkeiten fehlen. Registrierte Converter‑ oder DICOM‑Plugins mit einer unzureichenden nicht‑temporären Lizenz schlagen bei AddDoconut() fehl. Vergleichen Sie IsCapabilityGranted(...) mit jeder Funktion, die Sie vor dem Deployment aktivieren.

Suche findet nichts (oder zu wenig)

  • Für ein direktes PDF war AllowSearch zum Öffnungszeitpunkt nicht aktiviert. Word, Excel und PowerPoint stellen denselben Schalter über ihr verschachteltes PdfConfig bereit.
  • Der Inhalt ist gescannt/nur Bild, sodass die normale Suche keine Textebene zum Abgleichen hat. Verwenden Sie eine texthaltige Quelle oder eine PDF‑Projektion, die Text bewahrt.
  • HTML und MS Project (MPP) sind in ihren Standardeinstellungen nicht durchsuchbar — setzen Sie DefaultRender = false, damit sie über eine PDF‑Projektion mit nativer Textebene rendern. Word, Excel, PowerPoint, TXT, Visio, E‑Mail, EPUB und MHT durchsuchen ihre Katalog‑Standardwerte.
  • objViewer.CanSearch() ist nach der Initialisierung false — das aufgelöste Format hat keinen Standard‑Suchpfad. Dieses Urteil ist getrennt von der Such‑Lizenz; prüfen Sie beide.

Noch festgefahren?

Isolieren Sie das Problem mit der minimalen Quick‑Start‑App; wenn es dort reproduziert wird, kontaktieren Sie den Support mit dem Dokument, Ihrer Program.cs und der Lizenz‑Diagnoseausgabe.

War diese Seite hilfreich?