6

我正在尝试在我的 Monodroid 应用程序中使用 DotNetZip 库。当我启用共享运行时构建选项时,一切似乎都运行良好。当我禁用共享运行时,该行

static System.Text.Encoding ibm437 = System.Text.Encoding.GetEncoding("IBM437");

生成异常(不支持编码名称“IBM437”)。我已经检查了“其他支持的编码”列表中的每个框,但它似乎没有帮助。有人有想法么?

4

1 回答 1

11

我有同样的问题。

首先,确保您在项目属性中添加了“West”编码:

Xamarin 国际化

如果这不起作用,问题是所需的 dll 没有被复制到 .apk 的程序集文件夹中。这应该自动发生,但事实并非如此。我提交了一个错误,因此您可以查看它是否已修复:

Mono for Android / Xamarin Bugzilla

如果没有,这是一个对我有用的解决方法(来自 Xamarin):

  1. 手动添加对 I18N.dll 和 I18N.West.dll 的引用
  2. 将两个 dll 的“复制本地”属性设置为“真”
  3. 添加以下虚拟代码以将 2 个 dll 添加到 .apk

    变种忽略 = 新 I18N.West.CP437();

  4. 确保“链接”设置为“无”

希望这可以帮助!

于 2012-09-28T23:13:05.663 回答