xamarin.android - 无法使用 System.XML.Linq

标签 xamarin.android monodevelop

我正在开发一个使用 Mono for Android 的项目。使用 Xamarin 阅读跨平台文档后。我将我的数据层放在一个单独的项目中,打算将其移动到我的 Mono for Android 项目,然后将这些文件链接到我的 Mono Touch 项目,也许有一天会链接到 Windows Phone 8 项目。

当我移动代码时,由于 System.Xml.Linq 引用,我现在无法编译。引用显示在 Mono for Android 项目中,但我无法使用它。我认为瞄准 Froyo 可能是问题所在,但将项目升级到 Gingerbread 或 Ice Cream Sandwich 并没有帮助。

有人知道我做错了什么吗?我是一名经验丰富的 .NET 开发人员,并且非常了解引用在项目中的工作方式,但这个让我很困惑。

原始代码所从事的项目针对的是 Mono/.NET 4 框架

最佳答案

您对 System.Xml.Linq 的引用是指向 .Net 版本还是 Mono 版本?用于 Mono 的版本为 2.0.5.0。

Mono System.Xml.Linq Reference

另外,是在 Android 类库/应用程序或常规 .Net 类库中对 System.Xml.Linq 的引用。如果它是一个 .Net 类库,我会尝试在您的 Android 应用程序中将该库引用为已编译 (dll) 引用,而不是项目引用。这不是一个完美的解决方案,但我发现当我需要引用我在多个解决方案中使用的库时,它可以工作。该引用通常可以正常工作,但如果 Mono 版本不支持任何内容,则可能会导致问题。

假设您的代码在类库中,最好的办法可能是创建库项目的 Mono 特定版本。您可以导入和使用相同的类文件,但只需添加一些条件编译符号即可使其为 Mono 正确编译。如果您对此不熟悉,请查看如何 Json.NetServiceStack管理多个平台的代码。

关于xamarin.android - 无法使用 System.XML.Linq,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13924474/

相关文章:

iphone - :In app purchase and Monotouch 的文档或博客

c# - MonoDroid Android 开发相似点

xamarin - 如何更改 Xamarin.Forms.Platform.Android.dll 版本

android - 单声道.AndroidTools.AdbException : Attempted to read past the end of the stream (on visual studio)

android - Mono for Android - 它是如何工作的?

ubuntu - 如何在 monodevelop 中添加项目或模板类型?

c# - 我可以通过蓝牙将签名的 APK 发送到设备以快速测试构建吗

c++ - 我如何在 monodevelop (C++) 中链接 SDL 和 GL

monodevelop - 无法在 MonoDevelop(OS X 版本)中使用//TODO 标志

c# - resources.designer.cs 不是自动生成的。 (MonoDevelop 初学者)