Ich möchte EpubReader
von VersFx.Formaters.Text.Epub Assembly verwenden. Ich möchte EpubBook
in meinen plattformspezifischen Code laden und dann meine eigene Book
Klasse in gemeinsamen Code setzen. Es sieht wie folgt aus:System.Drawing wurde nicht gefunden, wenn VersFx.Formaters.Text.Epub installiert wurde
public interface IEpubReader
{
Book ReadEpub(string bookPath);
}
public class Book
{
public string Title { get; set; }
public string Author { get; set; }
public IEnumerable<string> Chapters { get; set; }
}
public class DroidEpubReader : IEpubReader
{
public Book ReadEpub(string bookPath)
{
EpubBook epubBook = EpubReader.ReadBook(bookPath);
Book book = new Book
{
Title = epubBook.Title,
Author = epubBook.Author,
Chapters = epubBook.Chapters.First().SubChapters.Select(sc => sc.Title.ToString())
};
return book;
}
}
Book
und IEpubReader
aus dem gemeinsamen Code kommen.
Ich habe einen Fehler bekommen, als ich meine Lösung gebaut habe.
Severity Code Beschreibung Projektdatei Zeilenunterdrückungszustand Fehler Ausnahme beim Laden von Assemblys: System.IO.FileNotFoundException: konnte nicht geladen werden Montage ‚System.Drawing, Version = 4.0.0.0, Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a '. Vielleicht existiert es nicht im Mono für Android-Profil? Dateiname: 'System.Drawing.dll' in Java.Interop.Tools.Cecil.DirectoryAssemblyResolver.Resolve (AssemblyNameReference Referenz, ReaderParameters Parameter) in Xamarin.Android.Tasks.ResolveAssemblies.AddAssemblyReferences (ICollection`1 Baugruppen, AssemblyDefinition Montage , Boolean topLevel) in Xamarin.Android.Tasks.ResolveAssemblies.Execute() EpubReaderXamarinForms.Droid
ich manuell hinzufügen System.Drawing
meinem Android-Projekt hinzufügen wollte. Ich fand zwei ähnliche Assemblies in COM (System.Drawing.dll Version 2.4 und System.Drawing.dll Version 2.0), aber ich habe einen anderen Fehler.
Bitte können Sie mir erklären, was ich falsch gemacht?
Mein package.config
gemeinsamer Code:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Xamarin.Forms" version="2.3.3.193" targetFramework="portable45-net45+win8+wp8+wpa81" />
</packages>
package.config
von Android-Projekt:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="VersFx.Formats.Text.Epub" version="1.0.2" targetFramework="monoandroid60" />
<package id="Xamarin.Android.Support.Animated.Vector.Drawable" version="23.3.0" targetFramework="monoandroid60" />
<package id="Xamarin.Android.Support.Design" version="23.3.0" targetFramework="monoandroid60" />
<package id="Xamarin.Android.Support.v4" version="23.3.0" targetFramework="monoandroid60" />
<package id="Xamarin.Android.Support.v7.AppCompat" version="23.3.0" targetFramework="monoandroid60" />
<package id="Xamarin.Android.Support.v7.CardView" version="23.3.0" targetFramework="monoandroid60" />
<package id="Xamarin.Android.Support.v7.MediaRouter" version="23.3.0" targetFramework="monoandroid60" />
<package id="Xamarin.Android.Support.v7.RecyclerView" version="23.3.0" targetFramework="monoandroid60" />
<package id="Xamarin.Android.Support.Vector.Drawable" version="23.3.0" targetFramework="monoandroid60" />
<package id="Xamarin.Forms" version="2.3.3.193" targetFramework="monoandroid60" />
</packages>
Vielen Dank. Ich denke über das Umschreiben des Quellcodes dieser Bibliothek nach. –