gpt4 book ai didi

c# - 我是否必须重新编译 .dll 才能在 Mono Android 项目上使用它?

转载 作者:行者123 更新时间:2023-11-30 17:51:59 25 4
gpt4 key购买 nike

我最近获得了Mono Android的学生许可来自 Xamarin。

在做了一个简单的项目后,我决定开始使用一些我熟悉的 DLL,例如 Json.NetH.A.P在我的 Android 应用程序(单项目)上,这就是问题开始的时候。

在尝试从 NuGet 中提取这些引用后,它们失败了,因为“Android 应用程序”项目未知,导致没有安装 .dll(NuGet 尝试将项目类型与要下载的正确 .dll 相匹配,无论是 WindowsPhone, .NET4、.NET 3.5 等)。

所以我继续手动引用这些库,因为我已经将它们下载到我的 PC 上。引用作品,但一旦我尝试访问 HtmlAgilityPack它会引发异常。

Error CS0012: 
The type 'System.Xml.XPath.IXPathNavigable' is defined in an assembly that is not referenced.
You must add a reference to assembly 'System.Xml, Version=x.x.x.x, Culture=neutral

由于 .NET 的 J.I.T 编译,第一次执行代码时会引发异常,我知道这一点。

问题:我如何在我的 Mono Android 项目中使用我“非常喜欢”的 .dll?

我需要这些库的源代码才能在我的项目中使用它们吗?

提前致谢

最佳答案

为了重新编译程序集,您需要源代码。

要查看 Xamarin.Android 和 Xamarin.iOS 提供的程序集,您可以访问以下两个页面:

http://docs.xamarin.com/guides/android/advanced_topics/assemblies

http://docs.xamarin.com/guides/ios/advanced_topics/assemblies

重新编译它的一种方法是制作一个 Android 类库或 iPhone 类库,并添加一个指向原始源代码中所有文件的链接,然后进行编译。或者,当 Xamarin 完成其 PCL 支持时,仅在 PCL 中执行类似的操作,以便您拥有一个针对多个平台的 DLL。

您可能还会发现这篇文章很有用,它简要介绍了如何针对 Xamarin.Android 编译 HtmlAgilityPack:http://forums.xamarin.com/discussion/comment/2139/#Comment_2139您可能需要更改一些内容,因为这是从 2012 年 12 月开始的,从那以后事情可能已经发生了变化。

关于c# - 我是否必须重新编译 .dll 才能在 Mono Android 项目上使用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18787496/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com