Sorun Giderme
Yaygın hataları teşhis edin
Aşağıdaki her mesaj, Doconut'un ürettiği tam metin olup, semptoma göre düzenlenmiştir. Hatanızı bulun, düzeltmeyi uygulayın.
Görüntüleyici hiçbir şey göstermiyor
Boş görüntüleyici alanı, tarayıcı konsolu /doconut-res/... için 404'lerle dolu
UseDoconutResources() eksik veya UseDoconut()'dan sonra yer alıyor. Boru hattında ilk olarak gelmelidir.
HTTP 500 ile:
Session middleware not configured. Call UseSession() before UseDoconut().Doconut'un token güvenliği (varsayılan olarak açık) ASP.NET oturum durumuna ihtiyaç duyar. builder.Services.AddSession() ve app.UseSession() ekleyin Doconut ara katman dalından önce.
Sayfa alanında şu metni içeren bir hata resmi:
You Are Not Authorized To View This Page.Token, farklı bir tarayıcı oturumu tarafından açıldı. Yaygın nedenler: oturum çerezi sayfa isteklerine ulaşmıyor (çapraz kaynak ayarı, SameSite politikası, çerez kavanozu olmayan bir API istemcisi) veya uygulama yeniden başlatıldı (yeni oturum anahtarları). Bu, tasarlandığı gibi çalışan güvenlik katmanıdır — Temel Kavramlar → Oturumlar ve Güvenlik bölümüne bakın.
Şu metni içeren bir hata resmi:
Document session not found. Please re-open document.Token süresi doldu (kaydırmalı pencere, varsayılan 60 dakika — DocOptions.TimeOut) veya oturum kapatıldı. Yeni bir token için belgeyi yeniden açın.
Belge açma başarısız oluyor
LicenseException reddetme mesajı ile — lisans dosyası bulundu ancak reddedildi (geçersiz imza, değiştirilmiş, kara listeye alınmış veya lisansın sürüm/güncelleme penceresi dışındaki bir yapı). Bu durum, belgeyi açmayı (hızlı hata) engeller, filigran düşürmek yerine; nedeni öğrenmek için License.RejectionMessage okuyun.
LicenseException:
This document type requires the 'Dicom' plugin license.Bu uzantı yalnızca bir eklenti (burada: DICOM) tarafından işlenir ve yetenek artık verilmemiştir. Eklentiyi kaydedin ve lic.IsCapabilityGranted(LicenseCapability.Dicom) kontrol edin. Eksik veya yetersiz geçici olmayan bir yetki genellikle AddDoconut() sırasında daha önce başarısız olur.
FormatNotSupportedException:
Document format '<extension>' is not supported.Hiçbir görüntüleyici — yerleşik, eklenti veya özel — bu uzantıyı desteklemiyor. Desteklenen format listesine bakın; kendi formatlarınız için DoconutOptions.RegisterViewer bir tane ekleyebilir.
InvalidDataException — dosya içeriği bozuk veya uzantısıyla eşleşmiyor (ör. yeniden adlandırılmış bir dosya). Açmadan önce yüklemeleri doğrulayın.
InvalidOperationException:
No IDocumentConverter is registered. Add the converter plugin: options.AddPlugin<Doconut.Plugins.Converter.ConverterPlugin>().DocumentConverter'ı kaydetmeden Çevirici eklentisini kaydettiniz.
Başlangıçta başarısızlık
AddPlugin ile kaydedilen bir eklentiden bahseden InvalidOperationException — mevcut geçici olmayan lisans bu eklenti yeteneğini vermiyor. Kaydı kaldırın veya yetki veren bir lisans yükleyin. Eksik bir lisans ve eski bir TRIAL dosyası hiçbir eklenti yetkisi vermez.
AddDoconut()'dan ArgumentException:
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.Hızlı hata seçenek doğrulaması — hatalı yolu düzeltin.
Derleme / bağımlılık hataları
Derleyici hatası CS1705, veya bir belge açılırken çalışma zamanında:
Could not load file or assembly 'System.Text.Json, Version=10.0.0.0'Projeniz System.Text.Json / System.Text.Encodings.Web paketlerini 10.0.x altına sabitledi. Sürüm düşürmeyi kaldırın ve NuGet'in Doconut.NET8 tarafından bildirilen sürümleri geri yüklemesine izin verin.
İlk sunum dosyasında TypeInitializationException:
Could not load ... System.Drawing.Common, Version=6.0.0.0Sunum motoru System.Drawing.Common 6.0.0 sürümünü kesinlikle gerektirir (paket tarafından bildirilen). Bu bağımlılığı kaldırmayın veya geçersiz kılmayın — her PPT/PPTX/PPS/POT/ODP açma bu olmadan başarısız olur.
Çıktı yanlış görünüyor
Sayfalar bir filigran taşıyor — uygulama değerlendirme modunda: lisans dosyası bulunamadı, süresi dolmuş geçici veya abonelik penceresi, ya da geçersiz bir alan adı. IDoconutLicenseService'i inceleyin (License.IsLicenseFileFound, IsExpired, IsVersionValid, IsValidForDomain, License.RejectionMessage) — Lisanslama sayfasının IDoconutLicenseService referansı hazır bir uç nokta gösterir.
Eski belgeler bozuk metin gösteriyor — kod sayfası kodlamaları .NET 8'de varsayılan olarak yüklenmez. Başlangıçta bir kez ekleyin:
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);Linux/Docker'da yanlış veya yerine konmuş yazı tipleri — konteyner belge yazı tiplerine sahip değil. FontFolders'ı (WordConfig/PptConfig üzerindeki) bağlanmış bir yazı tipi dizinine yönlendirin.
Sunumlar açılıyor ancak Linux/macOS'ta render edilemiyor — mevcut PPT/PPTX/PPS/POT/ODP renderlayıcı, yerel libgdiplus ve System.Drawing.EnableUnixSupport=true gerektirir. Paket, bu anahtarı destekleyen son sürüm olduğu için System.Drawing.Common 6.0.0 sağlar.
Özellik değerlendirme ortamında çalıştı, üretimde sessiz
Klasik canlıya geçiş sürprizi: aktif Geçici lisans tüm yetenekleri verir; satın aldığınız lisans yalnızca satın aldıklarınızı verir. Arama ve açıklama paketleri, yetenekleri eksik olduğunda kaybolabilir. Yetersiz geçici olmayan bir lisansla kaydedilmiş Converter veya DICOM eklentileri AddDoconut() sırasında başarısız olur. Dağıtımdan önce etkinleştirdiğiniz her özelliğe karşı IsCapabilityGranted(...)'ı karşılaştırın.
Arama hiçbir şey bulamıyor (veya çok az)
- Doğrudan bir PDF için,
AllowSearchaçılışta etkinleştirilmemişti. Word, Excel ve PowerPoint, aynı anahtarı iç içePdfConfigüzerinden sunar. - İçerik taranmış/görüntü‑only olduğundan, normal Arama eşleşecek bir metin katmanına sahip değildir. Metin içeren bir kaynak veya metni koruyan bir PDF projeksiyonu kullanın.
- HTML ve MS Project (MPP) varsayılan olarak aranabilir değildir —
DefaultRender = falseayarlayın, böylece PDF projeksiyonu üzerinden yerel bir metin katmanı ile render ederler. Word, Excel, PowerPoint, TXT, Visio, e‑posta, EPUB ve MHT, katalog varsayılanlarında aranabilir. objViewer.CanSearch()başlatmadan sonrafalsedöner — çözülen format standart bir arama yolu içermiyor. Bu karar, Arama lisansından ayrı bir durumdur; ikisini de doğrulayın.
Hâlâ takılı kaldınız?
Sorunu minimal Quick Start uygulamasıyla izole edin; orada da tekrarlanıyorsa, belge, Program.cs dosyanız ve lisans tanı teşhis çıktısı ile desteğe başvurun.
Bu sayfa yardımcı oldu mu?