使用JSON.NET的包非常大

时间:2013-04-17 19:26:50

标签: android linker xamarin.android json.net

我正在使用JSON.NET在我的Mono for Android应用程序中解析JSON。但是当我创建一个包时,生成的文件是17 MB,链接:无。 打开链接后,程序包大小减少到4 MB,但是出现错误:

System.MissingMethodException: Default constructor not found for type System.ComponentModel.TypeConverter.

我怀疑,链接出错了,但我不知道为什么。不过,我想减小包装的尺寸。有什么想法吗?

3 个答案:

答案 0 :(得分:2)

打开链接将丢弃编译时未使用的任何方法,属性,属性....例如,这是反射方法的问题。

您的问题 - 非常大的包装可以通过以下方式解决:

  1. 减少库代码 - 手动删除未使用的代码并关闭 - 可能不想这样做
  2. 使用DataContractJsonSerializer - 使用此类的应用程序明显更小
  3. 使用17 MB应用程序,毕竟它仍然可以忍受:)并且链接“仅限Sdk程序集”也可以帮助一点点

答案 1 :(得分:0)

使用Xamarin Component Store提供的Json.Net。我已将此组件用于多个项目,并且启用了链接的Release版本介于4-8 MB之间。

答案 2 :(得分:0)

可以通过将系统程序集添加到项目的Mono Android Options下的“Skip linking assemblies”列表中来解决此问题。这增加了<对我而言,大小为1 Mb。