using var epubBook = EpubReader.OpenBook(filePath, BookReaderOptions);
BookReaderOptions = = new()
{
PackageReaderOptions = new PackageReaderOptions()
{
IgnoreMissingToc = true
}
};
<?xml version="1.0" encoding="utf-8"?>
<package unique-identifier="fanficfare-uid" version="2.0" xmlns="http://www.idpf.org/2007/opf">
<metadata xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:opf="http://www.idpf.org/2007/opf">
<dc:identifier id="fanficfare-uid">fanficfare-uid:www.royalroad.com-u87585-s26294</dc:identifier>
<dc:title id="id">He Who Fights With Monsters</dc:title>
<dc:creator opf:role="aut">Shirtaloon (Travis Deverell)</dc:creator>
<dc:contributor id="id-2">FanFicFare [https://github.com/JimmXinu/FanFicFare]</dc:contributor>
<dc:language>en</dc:language>
<dc:date opf:event="publication">2019-07-28</dc:date>
<dc:date opf:event="creation">2022-09-17</dc:date>
<dc:date opf:event="modification">2022-09-17</dc:date>
<meta content="2022-09-17T00:00:30" name="calibre:timestamp" />
<dc:description>Some description here</dc:description>
<dc:subject>High Fantasy</dc:subject>
<dc:subject>Last Update: 2022/09/17</dc:subject>
<dc:subject>LitRPG</dc:subject>
<dc:subject>Adventure</dc:subject>
<dc:publisher>www.royalroad.com</dc:publisher>
<dc:identifier opf:scheme="URL">https://www.royalroad.com/fiction/26294</dc:identifier>
<dc:source>https://www.royalroad.com/fiction/26294</dc:source>
</metadata>
<manifest>
<item href="toc.ncx" id="ncx" media-type="application/x-dtbncx+xml" />
<item href="OEBPS/stylesheet.css" id="style" media-type="text/css" />
<item href="OEBPS/title_page.xhtml" id="title_page" media-type="application/xhtml+xml" />
<item href="OEBPS/file0001.xhtml" id="file0001" media-type="application/xhtml+xml" />
...
<item href="OEBPS/file0153.xhtml" id="file0153" media-type="application/xhtml+xml" />
</manifest>
<spine toc="ncx">
<itemref idref="title_page" linear="yes" />
<itemref idref="file0001" linear="yes" />
...
<itemref idref="file0153" linear="yes" />
</spine>
</package>
I have validated all items exist and table of contents looks fine.
[18:47:11 WRN] [BookService] There was an exception when opening epub book: E:\Books\Wont Open\He_Who_Fights_With_Monsters_-_Shirtaloon.epub
System.AggregateException: One or more errors occurred. (Object reference not set to an instance of an object.)
---> System.NullReferenceException: Object reference not set to an instance of an object.
at VersOne.Epub.Internal.BookCoverReader.ReadEpub2CoverFromGuide(EpubSchema epubSchema, Dictionary`2 imageContentRefs)
at VersOne.Epub.Internal.BookCoverReader.ReadEpub2Cover(EpubSchema epubSchema, Dictionary`2 imageContentRefs)
at VersOne.Epub.Internal.BookCoverReader.ReadBookCover(EpubSchema epubSchema, Dictionary`2 imageContentRefs)
at VersOne.Epub.Internal.ContentReader.ParseContentMap(EpubBookRef bookRef, ContentReaderOptions contentReaderOptions)
at VersOne.Epub.EpubReader.<>c__DisplayClass10_0.<OpenBookAsync>b__1()
at System.Threading.Tasks.Task`1.InnerInvoke()
at System.Threading.Tasks.Task.<>c.<.cctor>b__272_0(Object obj)
at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread threadPoolThread, ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread)
--- End of stack trace from previous location ---
at VersOne.Epub.EpubReader.OpenBookAsync(IZipFile zipFile, String filePath, EpubReaderOptions epubReaderOptions)
--- End of inner exception stack trace ---
at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
at System.Threading.Tasks.Task`1.get_Result()
at VersOne.Epub.EpubReader.OpenBook(String filePath, EpubReaderOptions epubReaderOptions)