Felsökning

Diagnostisera vanliga fel

Varje meddelande nedan är den exakta text som Doconut producerar, organiserad efter symptom. Hitta ditt fel och tillämpa lösningen.

Visaren visar ingenting

Tomt visningsområde, webbläsarkonsolen full av 404‑fel för /doconut-res/...
UseDoconutResources() saknas, eller placerad efter UseDoconut(). Den måste komma först i pipelinen.

HTTP 500 med:

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

Docunots token‑säkerhet (aktiverad som standard) kräver ASP.NET‑sessionsstatus. Lägg till builder.Services.AddSession() och app.UseSession() före Doconut‑middleware‑grenen. Sessionsstatus behöver också en cache: i en minimal‑API‑app lägg till builder.Services.AddDistributedMemoryCache(), eller så stoppar appen vid start med Unable to resolve service for type 'IDistributedCache' (MVC‑ och Razor‑Pages‑appar registrerar redan en).

En felbild i sidområdet med texten:

text
You Are Not Authorized To View This Page.

Tokenet öppnades av en annan webbläsarsession. Vanliga orsaker: sessions‑cookien når inte sidförfrågningarna (cross‑origin‑inställning, SameSite‑policy, en API‑klient utan cookie‑behållare), eller så startade appen om (nya sessionsnycklar). Detta är säkerhetslagret som fungerar som avsett — se Grundläggande koncept → Sessioner & Säkerhet.

En felbild med texten:

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

Tokenet löpte ut (glidande fönster, standard 60 minuter — DocOptions.TimeOut) eller så stängdes sessionen. Öppna dokumentet igen för ett nytt token.

Att öppna ett dokument misslyckas

LicenseException med ett avvisningsmeddelande — licensfilen hittades men avvisades (ogiltig signatur, manipulerad, svartlistad, eller en build utanför licensens versions‑/uppdateringsfönster). Detta tillstånd blockerar öppning (fail‑fast) snarare än att degraderas till ett vattenstämpel; läs License.RejectionMessage för orsaken.

LicenseException:

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

Utökningen hanteras endast av ett plugin (här: DICOM) och funktionen är inte längre beviljad. Registrera pluginet och verifiera lic.IsCapabilityGranted(LicenseCapability.Dicom). En saknad eller otillräcklig icke‑tillfällig rättighet misslyckas normalt tidigare under AddDoconut().

FormatNotSupportedException:

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

Ingen visare — inbyggd, plugin eller anpassad — stödjer den filändelsen. Kontrollera listan över stödjade format; för egna format kan DoconutOptions.RegisterViewer lägga till en.

InvalidDataException — filinnehållet är korrupt eller matchar inte dess filändelse (t.ex. en omdöpt fil). Validera uppladdningar innan de öppnas.

InvalidOperationException:

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

Du löste DocumentConverter utan att registrera Converter‑pluginet.

Startfel

InvalidOperationException som nämner ett plugin registrerat via AddPlugin — den aktuella icke‑tillfälliga licensen beviljar inte den plugin‑funktionen. Ta bort registreringen eller installera en licens som beviljar den. En saknad licens och en äldre TRIAL‑fil ger inga plugin‑funktioner.

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

Fail‑fast validering av alternativ — rätta den felaktiga sökvägen.

Bygg‑ / beroende‑fel

Kompilatorfel CS1705, eller vid körning när ett dokument öppnas:

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

Ditt projekt har låst System.Text.Json eller System.Text.Encodings.Web till en version under 8.0.x som deklarerats av Doconut.NET6. Ta bort nedgraderingen och låt NuGet återställa paketgrafen (System.Text.Json 8.0.6 och System.Text.Encodings.Web 8.0.0 i det granskade paketet 26.7.0).

TypeInitializationException på den första presentationsfilen:

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

Presentationsmotorn kräver hårt System.Drawing.Common 6.0.0 (deklarerad av paketet). Ta inte bort eller åsidosätt det beroendet — varje PPT/PPTX/PPS/POT/ODP‑öppning misslyckas utan det.

Utdata ser felaktig ut

Sidor har ett vattenstämpel — appen är i ett utvärderingsläge: ingen licensfil hittades, ett utgånget tillfälligt eller prenumerationsfönster, eller en ogiltig domän. Inspektera IDoconutLicenseService (License.IsLicenseFileFound, IsExpired, IsVersionValid, IsValidForDomain, License.RejectionMessage) — licenssidans IDoconutLicenseService‑referens visar en färdig endpoint.

Äldre dokument renderar förvrängd text — kodsidssättningar laddas inte som standard i .NET 6. Lägg till en gång vid start:

csharp
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);

Felaktiga eller ersatta typsnitt på Linux/Docker — containern saknar dokumentets typsnitt. Peka FontFolders (på WordConfig/PptConfig) mot en monterad typsnittskatalog.

Presentationer öppnas men misslyckas med att rendera på Linux/macOS — den aktuella PPT/PPTX/PPS/POT/ODP‑renderaren kräver native libgdiplus plus System.Drawing.EnableUnixSupport=true. Paketet levererar System.Drawing.Common 6.0.0 eftersom det är den sista versionen som hedrar denna switch.

Funktion fungerade i utvärdering, tyst i produktion

Den klassiska go‑live‑överraskningen: aktiv tillfällig licens beviljar alla funktioner; din köpta licens beviljar bara det du köpt. Sök‑ och annoteringspaket kan försvinna när deras funktioner saknas. Registrerade Converter‑ eller DICOM‑plugin med en otillräcklig icke‑tillfällig licens misslyckas under AddDoconut(). Jämför IsCapabilityGranted(...) mot varje funktion du aktiverar innan distribution.

Sökning hittar inget (eller för lite)

  • För en direkt PDF var AllowSearch inte aktiverat vid öppning. Word, Excel och PowerPoint exponerar samma switch via deras inbäddade PdfConfig.
  • Innehållet är skannat/endast bild, så normal sökning har inget textlager att matcha. Använd en textbärande källa eller en PDF‑projektion som bevarar text.
  • HTML och MS Project (MPP) är inte sökbara i sina standardinställningar — sätt DefaultRender = false så de renderas via en PDF‑projektion med ett inbyggt textlager. Word, Excel, PowerPoint, TXT, Visio, e‑post, EPUB och MHT söker i sina katalogstandarder.
  • objViewer.CanSearch() är false efter initiering — det lösta formatet har ingen standard sökväg. Detta beslut är separat från sök‑licensen; verifiera båda.

Fortfarande fast?

Isolera problemet mot den minimala Snabbstart‑appen; om det reproduceras där, kontakta support med dokumentet, din Program.cs och licensdiagnostikens utdata.

Var den här sidan hjälpsam?