5

我正在使用http://xamarin.com/monoforandroid创建一个全新的 Mono for android 应用程序 在此处输入图像描述

我使用 Visual C#选项为 Android 应用程序选择了 Mono 。

我的 Android 目标版本是: 在此处输入图像描述

我去了项目的引用并尝试添加我预先存在的 dll(在 .NET 4 Framework 中制作),但我收到了这个错误:

在此处输入图像描述

奇怪的是没有选项可以从项目属性中更改 .NET Framework。你能告诉我我错过了什么吗?

4

2 回答 2

5

这里的问题是您试图从不是 .NET 4 的项目中引用 .NET 4 DLL。Mono for Android 使用自己的 .NET 配置文件,这与 Silverlight 的配置文件非常相似(但不完全是相同)。虽然添加为不同配置文件编译的 DLL 可能会起作用,但这是非常危险的,因为您可能会在运行时遇到应用程序崩溃的问题,因为 Mono for Android 配置文件中缺少某些内容。

现在最好的答案是创建一个 Mono for Android 类库,从你想使用的库中链接适当的文件,然后引用它。这将使您在编译时检查您没有使用 Mono for Android 配置文件不支持的任何内容,并帮助您从长远来看更加清醒。我在这里有一篇旧博客文章,讨论了如何跨项目链接文件。

也就是说,在这种情况下,您很幸运,因为其他人已经为您完成了最后一部分!查看Json.NET 的这个分支,它提供了 MonoTouch 和 Mono for Android 的版本。

于 2012-05-11T13:19:18.530 回答
2

奇怪的是没有选项可以从项目属性中更改 .NET Framework。你能告诉我我错过了什么吗?

这并不奇怪 - 该对话框是由 Microsoft 编写的,考虑到它自己的项目类型听起来 Mono for Android 没有可用的相同选项。

我强烈怀疑您只需要使用面向 .NET 3.5 的 JSON.NET 版本。

(话虽如此,Android 的 Mono 声称支持“动态语言功能”,这听起来应该针对 .NET 4。奇怪。我怀疑修复是一样的。)

于 2012-05-11T12:51:15.793 回答