การแก้ไขปัญหา
วินิจฉัยข้อผิดพลาดทั่วไป
ข้อความต่อไปนี้เป็นข้อความดิบที่ Doconut สร้างขึ้น จัดเรียงตามอาการ. ค้นหาข้อผิดพลาดของคุณและใช้วิธีแก้ไข.
ตัวดูแสดงไม่มีอะไร
พื้นที่ตัวดูว่างเปล่า, คอนโซลเบราว์เซอร์เต็มไปด้วย 404 สำหรับ /doconut-res/...
UseDoconutResources() หายไป หรือวางหลังจาก UseDoconut() ต้องอยู่ก่อนใน pipeline.
HTTP 500 พร้อมข้อความ:
Session middleware not configured. Call UseSession() before UseDoconut().รูปภาพข้อผิดพลาดในพื้นที่หน้าแสดงข้อความ:
You Are Not Authorized To View This Page.โทเคนถูกเปิดโดยเซสชันของเบราว์เซอร์อื่น สาเหตุทั่วไป: คุกกี้เซสชันไม่ถึงคำขอของหน้า (การตั้งค่าข้ามต้นทาง, นโยบาย SameSite, ไคลเอ็นต์ API ที่ไม่มีคุกกี้), หรือแอปรีสตาร์ท (คีย์เซสชันใหม่) นี่คือชั้นความปลอดภัยทำงานตามที่ออกแบบ — ดู แนวคิดหลัก → เซสชันและความปลอดภัย.
รูปภาพข้อผิดพลาดแสดงข้อความ:
Document session not found. Please re-open document.โทเคนหมดอายุ (หน้าต่างเลื่อน, ค่าเริ่มต้น 60 นาที — DocOptions.TimeOut) หรือเซสชันถูกปิด เปิดเอกสารใหม่เพื่อรับโทเคนใหม่.
การเปิดเอกสารล้มเหลว
LicenseException พร้อมข้อความปฏิเสธ — ไฟล์ใบอนุญาตพบแต่ถูกปฏิเสธ (ลายเซ็นไม่ถูกต้อง, ถูกดัดแปลง, ถูกบล็อก, หรือรุ่นที่สร้างอยู่นอกช่วงเวอร์ชัน/อัปเดตของใบอนุญาต) สถานะนี้บล็อกการเปิด (fail-fast) แทนที่จะลดระดับเป็นลายน้ำ; อ่าน License.RejectionMessage เพื่อดูเหตุผล.
LicenseException:
This document type requires the 'Dicom' plugin license.ส่วนขยายนี้จัดการโดยปลั๊กอินเท่านั้น (ที่นี่: DICOM) และความสามารถไม่ได้รับการมอบให้อีกต่อไป ลงทะเบียนปลั๊กอินและตรวจสอบ lic.IsCapabilityGranted(LicenseCapability.Dicom). สิทธิ์ที่หายไปหรือไม่เพียงพอแบบไม่ชั่วคราวมักจะล้มเหลวก่อนหน้าใน AddDoconut().
FormatNotSupportedException:
Document format '<extension>' is not supported.ไม่มีตัวดู — ในตัว, ปลั๊กอิน หรือแบบกำหนดเอง — รองรับส่วนขยายนั้น ตรวจสอบรายการรูปแบบที่สนับสนุน; สำหรับรูปแบบของคุณเอง, สามารถเพิ่มด้วย DoconutOptions.RegisterViewer.
InvalidDataException — เนื้อหาไฟล์เสียหายหรือไม่ตรงกับส่วนขยาย (เช่น ไฟล์ที่เปลี่ยนชื่อ) ตรวจสอบความถูกต้องของการอัปโหลดก่อนเปิด.
InvalidOperationException:
No IDocumentConverter is registered. Add the converter plugin: options.AddPlugin<Doconut.Plugins.Converter.ConverterPlugin>().คุณแก้ไข DocumentConverter แต่ไม่ได้ลงทะเบียนปลั๊กอิน Converter.
การเริ่มต้นล้มเหลว
InvalidOperationException ที่ระบุปลั๊กอินที่ลงทะเบียนผ่าน AddPlugin — ใบอนุญาตแบบไม่ชั่วคราวปัจจุบันไม่ได้มอบความสามารถของปลั๊กอินนั้น ลบการลงทะเบียนหรือทำการติดตั้งใบอนุญาตที่มอบให้ ความขาดแคลนใบอนุญาตและไฟล์ TRIAL แบบเก่าไม่มอบความสามารถของปลั๊กอินใดๆ.
ArgumentException จาก AddDoconut():
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 — แก้ไขเส้นทางที่เป็นปัญหา.
ข้อผิดพลาดการสร้าง / ขึ้นต่อกัน
ข้อผิดพลาดคอมไพเลอร์ CS1705 หรือในขณะรันไทม์เมื่อเปิดเอกสาร:
Could not load file or assembly 'System.Text.Json, Version=10.0.0.0'โปรเจกต์ของคุณกำหนดเวอร์ชัน System.Text.Json / System.Text.Encodings.Web ต่ำกว่า 10.0.x ให้ลบการลดเวอร์ชันและให้ NuGet กู้คืนเวอร์ชันที่ Doconut.NET8 ระบุ.
TypeInitializationException ในไฟล์การนำเสนอแรก:
Could not load ... System.Drawing.Common, Version=6.0.0.0เอนจินการนำเสนอจำเป็นต้องใช้ System.Drawing.Common 6.0.0 (ระบุโดยแพคเกจ) อย่าลบหรือทับซ้อนการพึ่งพานี้ — การเปิดไฟล์ PPT/PPTX/PPS/POT/ODP ทุกไฟล์จะล้มเหลวหากไม่มี.
ผลลัพธ์ดูไม่ถูกต้อง
หน้าแสดงลายน้ำ — แอปอยู่ในสถานะการประเมิน: ไม่พบไฟล์ใบอนุญาต, หน้าต่างชั่วคราวหรือการสมัครสมาชิกหมดอายุ, หรือโดเมนไม่ถูกต้อง ตรวจสอบ IDoconutLicenseService (License.IsLicenseFileFound, IsExpired, IsVersionValid, IsValidForDomain, License.RejectionMessage) — การอ้างอิง IDoconutLicenseService ของหน้าลิขสิทธิ์แสดงจุดเชื่อมต่อที่พร้อมใช้งานแล้ว.
เอกสารเก่าแสดงข้อความเป็นอักขระผิด — การเข้ารหัส code-page ไม่ได้โหลดโดยค่าเริ่มต้นใน .NET 8 เพิ่มครั้งเดียวที่การเริ่มต้น:
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);ฟอนต์ผิดหรือถูกแทนที่บน Linux/Docker — คอนเทนเนอร์ไม่มีฟอนต์ของเอกสาร ตั้งค่า FontFolders (บน WordConfig/PptConfig) ให้ชี้ไปยังไดเรกทอรีฟอนต์ที่เมานท์.
การนำเสนอเปิดได้แต่ไม่แสดงผลบน Linux/macOS — เรนเดอร์ PPT/PPTX/PPS/POT/ODP ปัจจุบันต้องการ libgdiplus แบบเนทีฟพร้อม System.Drawing.EnableUnixSupport=true แพคเกจจัดหา System.Drawing.Common 6.0.0 เพราะเป็นเวอร์ชันสุดท้ายที่รองรับสวิตช์นี้.
ฟีเจอร์ทำงานในโหมดประเมิน แต่เงียบในการผลิต
ความประหลาดใจคลาสสิกเมื่อเปิดใช้งานจริง: ใบอนุญาต Temporary ที่ใช้งานอยู่มอบทุกความสามารถ; ใบอนุญาตที่คุณซื้อมอบเฉพาะที่คุณได้ซื้อเท่านั้น แพ็คเกจการค้นหาและการอธิบายอาจหายไปเมื่อความสามารถของมันไม่มีอยู่ ปลั๊กอิน Converter หรือ DICOM ที่ลงทะเบียนด้วยใบอนุญาตแบบไม่ชั่วคราวที่ไม่เพียงพอจะล้มเหลวระหว่าง AddDoconut() เปรียบเทียบ IsCapabilityGranted(...) กับทุกฟีเจอร์ที่คุณเปิดใช้งานก่อนการปรับใช้.
การค้นหาไม่พบอะไร (หรือพบน้อยเกินไป)
- สำหรับ PDF โดยตรง,
AllowSearchไม่ได้เปิดใช้งานในขณะเปิด Word, Excel, และ PowerPoint มีสวิตช์เดียวกันผ่านPdfConfigที่ซ้อนอยู่. - เนื้อหาเป็นการสแกน/เฉพาะภาพ ดังนั้นการค้นหาปกติไม่มีชั้นข้อความให้จับคู่ ใช้แหล่งที่มีข้อความหรือการฉาย PDF ที่รักษาข้อความไว้.
- HTML และ MS Project (MPP) ไม่สามารถค้นหาได้ตามค่าเริ่มต้น — ตั้งค่า
DefaultRender = falseเพื่อให้พวกมันแสดงผ่านการฉาย PDF ที่มีชั้นข้อความพื้นฐาน Word, Excel, PowerPoint, TXT, Visio, email, EPUB, และ MHT สามารถค้นหาได้ตามค่าเริ่มต้นของแคตาล็อก. objViewer.CanSearch()เป็นfalseหลังการเริ่มต้น — รูปแบบที่แก้ไขไม่มีเส้นทางการค้นหามาตรฐาน คำตัดสินนี้แยกจากใบอนุญาต Search; ตรวจสอบทั้งสอง.
ยังติดอยู่หรือไม่?
แยกปัญหาโดยเปรียบเทียบกับแอป เริ่มต้นอย่างเร็ว ขั้นต่ำ; หากเกิดซ้ำที่นั่น ให้ติดต่อฝ่ายสนับสนุนพร้อมเอกสาร, Program.cs ของคุณ, และผลลัพธ์การวินิจฉัยใบอนุญาต.
หน้านี้เป็นประโยชน์หรือไม่?