【发布时间】:2017-03-13 00:52:29
【问题描述】:
我想使用来自VersFx.Formaters.Text.Epub 程序集的EpubReader。我想将EpubBook 加载到我的平台特定代码中,然后将我自己的Book 类放入共享代码中。它看起来像这样:
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 和 IEpubReader 来自共享代码。
我在构建解决方案时遇到错误。
严重性代码描述项目文件行抑制状态 加载程序集时出现错误异常: System.IO.FileNotFoundException:无法加载程序集 'System.Drawing,版本=4.0.0.0,文化=中性, PublicKeyToken=b03f5f7f11d50a3a'。也许它在 Mono 中不存在 安卓配置文件?文件名:“System.Drawing.dll”在 Java.Interop.Tools.Cecil.DirectoryAssemblyResolver.Resolve(AssemblyNameReference 参考,ReaderParameters 参数)在 Xamarin.Android.Tasks.ResolveAssemblies.AddAssemblyReferences(ICollection`1 程序集,AssemblyDefinition 程序集,布尔顶级)在 Xamarin.Android.Tasks.ResolveAssemblies.Execute() EpubReaderXamarinForms.Droid
我想手动添加 System.Drawing 到我的 Android 项目。我在 COM 中发现了两个类似的程序集(System.Drawing.dll 2.4 版和 System.Drawing.dll 2.0 版),但又遇到了一个错误。
请你解释一下我做错了什么?
我的package.config的共享代码:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Xamarin.Forms" version="2.3.3.193" targetFramework="portable45-net45+win8+wp8+wpa81" />
</packages>
Android 项目的package.config:
<?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>
【问题讨论】:
标签: c# android xamarin xamarin.forms