Installation
Fügen Sie Doconut zu Ihrem .NET Standard 2.1 Projekt hinzu
Der Basis‑Doconut‑Viewer für .NET Standard wird als ein NuGet‑Paket geliefert, das sich in jede ASP.NET‑Core‑Anwendung einbinden lässt. Optionale Plugins verwenden separate Pakete. Diese Seite installiert das Basis‑Paket, bestätigt, dass Ihr Host es verwenden kann, und registriert die Middleware — das Minimum, das vor Ihrer ersten Darstellung erforderlich ist.
Überprüfen Sie zuerst das Host‑Framework
Die Bibliothek zielt auf netstandard2.1. Das ist ein engerer Vertrag als das vorherige netstandard2.0‑Build, und es ist das Erste, was Sie überprüfen sollten:
| Host | Unterstützt |
|---|---|
| .NET Core 3.0 oder neuer, einschließlich .NET 5/6/7/8 | Ja |
| .NET Framework (beliebige Version) | Nein — netstandard2.1 kann nicht von .NET Framework verwendet werden |
Wenn die Anwendung auf .NET Framework läuft, ist dies nicht das richtige Paket. Verwenden Sie stattdessen Doconut.NETFramework; ab Version 26.9.0 erfordert es .NET Framework 4.7.2. Die mit dieser Veröffentlichung gelieferten Referenzanwendungen zielen auf net8.0.
Paket installieren
dotnet add package Doconut.NETStandardDer unversionierte Befehl installiert die neueste stabile Version. Um exakt die aktuelle 26.8.0‑Veröffentlichung zu reproduzieren, übergeben Sie die Version als separate Option:
dotnet add package Doconut.NETStandard --version 26.8.0Doconut.NETStandard ist die Paket‑ID. Der Suffix .26.8.0 gehört zum heruntergeladenen Dateinamen Doconut.NETStandard.26.8.0.nupkg und ist nicht Teil der ID.
Die Versionsnummer ist die Generation
Das ist hier wichtiger als der Paketname. Beide Generationen der .NET‑Standard‑Bibliothek werden unter derselben Paket‑ID veröffentlicht, und nur die Version unterscheidet sie:
| Version | Ziel | API |
|---|---|---|
| 26.7.0 und darunter | netstandard2.0 | die vorherige Integration |
| 26.8.0 und darüber | netstandard2.1 | die hier dokumentierte Integration |
Es gibt keinen Kompatibilitäts‑Shim und kein Parallel‑Paket. Das Erhöhen der Version ist das Upgrade, und der Compiler meldet die API‑Unterschiede sofort.
Wählen Sie die Dokumentation nicht nur anhand des Paketnamens aus:
new Viewer(_cache, _accessor, …),UnSafeMode, synchronesOpenDocument(...),viewer.InitCache(),UseDoconutWebFarmund manuell kopierte Viewer‑Skripte identifizieren die vorherige Integration;AddDoconut(),UseDoconutResources(), ein injizierterViewerundOpenDocumentAsync(...)identifizieren die aktuelle, hier dokumentierte Integration.
Das übersetzte vorherige Setup‑Handbuch ist weiterhin verfügbar. Verwenden Sie den Migrations‑Leitfaden, um die Generationen zu wechseln; ein Paket‑Update konvertiert Startup, Viewer‑Lebensdauer oder Browser‑Ressourcen nicht automatisch.
Doconut registrieren
AddDoconut() ist der einzige Registrierungs‑Einstiegspunkt — es gibt nur eine Überladung, und sie verbindet den Viewer‑Dienst, den Lizenz‑Dienst und die Rendering‑Infrastruktur mit dem DI‑Container.
Zwei Middleware‑Aufrufe vervollständigen die Einrichtung, und ihre Reihenfolge ist wichtig: UseDoconutResources() muss vor UseDoconut() ausgeführt werden. UseDoconut() ist terminale Middleware, sodass ein Aufruf zuerst bewirkt, dass jede Anfrage an ein /doconut-res‑Asset nie den Ressourcen‑Handler erreicht und 404‑Fehler erzeugt. Das Session‑Wiring ist ebenfalls erforderlich — Doconut's standardmäßige Dokumentensicherheit validiert jede Seitenanfrage gegen den ASP.NET‑Session‑State.
builder.Services.AddDoconut(options =>
{
options.LicensePath = "Doconut.Viewer.lic";
});
builder.Services.AddDistributedMemoryCache(); // Sitzungszustand benötigt einen Cache (MVC/Razor Pages fügt bereits einen hinzu)
builder.Services.AddSession(); // Doconut-Dokumentsicherheit nutzt den ASP.NET-Sitzungszustand
app.UseSession(); // rufen Sie UseSession() vor UseDoconut() auf
app.UseDoconutResources(); // muss vor UseDoconut() registriert werden
app.UseDoconut();Namespaces
Die Konfigurationstypen sind nicht mehr auf vier Namespaces verteilt. In dieser Veröffentlichung befindet sich fast alles im Root‑Namespace Doconut:
using Doconut; // Viewer, DoconutOptions, DocOptions, alle Format‑Konfigurationen
using Doconut.Middleware; // AddDoconut, UseDoconut, UseDoconutResources
using Doconut.Clouds; // Cloud‑ und Dateifreigabe‑Konfigurationen
using Doconut.Configs.Conversion; // ConversionTargetDie Typnamen selbst haben sich nicht geändert — PdfConfig, WordConfig, ExcelConfig, CssConfig, ScriptConfig und die übrigen sind weiterhin vorhanden. Wenn Sie eine bestehende Anwendung migrieren, benötigen die meisten Dateien nur das Entfernen von zwei using‑Zeilen; siehe den Migrations‑Leitfaden.
Alle Optionen
DoconutOptions akzeptiert die folgenden einstellbaren Eigenschaften. Jede ist optional — die untenstehenden Vorgaben gelten, wenn eine Eigenschaft nicht gesetzt wird.
| Property | Default | Description |
|---|---|---|
ShowDoconutInfo | false | Wenn true, gibt eine Anfrage ohne token ein Versionsbanner statt eines 404 zurück. Nützlich als Schnelltest; in der Produktion deaktivieren. |
UnsafeMode | false | Wenn true, wird die ASP.NET‑Session‑Sicherheitsprüfung bei Seitenanfragen übersprungen. In der Produktion deaktivieren. Hinweis zur Schreibweise — die vorherige Bibliothek nannte dies UnSafeMode. |
MiddlewarePath | "/doconut" | Koordinationswert für den Seiten‑Bild‑Endpunkt. Er wird validiert, mountet jedoch keinen eigenen Zweig; halten Sie ihn im Einklang mit dem tatsächlichen UseDoconut()‑Mapping und dem Client‑BasePath. |
ResourcesPath | "/doconut-res" | Wo die eingebetteten JS/CSS/Image‑Ressourcen bereitgestellt werden. |
LicensePath | "" (empty string) | Pfad zur Lizenzdatei. Leer bedeutet, dass zur nächsten Quelle weitergegangen wird, dann automatische Suche. |
LicenseContent | "" (empty string) | Roh‑Lizenzinhalt — aus einer Umgebungsvariablen, einem Secret‑Manager oder einer Datenbank. |
LicenseStream | null | Lizenz als Stream, einmal beim Start gelesen. |
ResetLicense | false | Reserviertes Kompatibilitäts‑Flag. Die Lizenz wird während AddDoconut() gelesen; starten Sie die Anwendung neu, nachdem Sie eine Lizenz ausgetauscht haben. |
Priorität der Lizenz, wenn mehr als eine Quelle gesetzt ist: LicenseStream schlägt LicenseContent, das LicensePath schlägt die automatische Suche — siehe License Setup.
builder.Services.AddDoconut(options =>
{
options.LicensePath = "Doconut.Viewer.lic";
options.MiddlewarePath = "/doconut"; // Koordination mit App‑Mapping und Client‑BasePath
options.ResourcesPath = "/doconut-res"; // wo die JS/CSS/Bilder des Viewers bereitgestellt werden
options.UnsafeMode = false; // Sitzungs‑Sicherheit aktiv lassen
options.ShowDoconutInfo = false;
});Nächste Schritte
- Schnellstart — öffnen Sie Ihr erstes Dokument und rendern Sie es im Browser.
- Lizenz‑Einrichtung — wo Doconut nach Ihrer Lizenzdatei sucht.
War diese Seite hilfreich?