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:

HostUnterstützt
.NET Core 3.0 oder neuer, einschließlich .NET 5/6/7/8Ja
.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

bash
dotnet add package Doconut.NETStandard

Der 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:

bash
dotnet add package Doconut.NETStandard --version 26.8.0

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

VersionZielAPI
26.7.0 und darunternetstandard2.0die vorherige Integration
26.8.0 und darübernetstandard2.1die 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, synchrones OpenDocument(...), viewer.InitCache(), UseDoconutWebFarm und manuell kopierte Viewer‑Skripte identifizieren die vorherige Integration;
  • AddDoconut(), UseDoconutResources(), ein injizierter Viewer und OpenDocumentAsync(...) 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.

csharp
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:

csharp
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;    // ConversionTarget

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

PropertyDefaultDescription
ShowDoconutInfofalseWenn true, gibt eine Anfrage ohne token ein Versionsbanner statt eines 404 zurück. Nützlich als Schnelltest; in der Produktion deaktivieren.
UnsafeModefalseWenn 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.
LicenseStreamnullLizenz als Stream, einmal beim Start gelesen.
ResetLicensefalseReserviertes 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.

csharp
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

War diese Seite hilfreich?