簡體   English   中英

當我使用非共享運行時構建Monodroid項目時,獲取編碼失敗

[英]Get Encoding fails when I build Monodroid project with unshared runtime

我想在我的Monodroid應用程序中使用DotNetZip庫。 當我啟用Shared Runtime構建選項時,一切似乎都能正常工作。 當我禁用共享運行時,該行

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

生成異常(不支持編碼名稱'IBM437')。 我已經檢查了“Additional Supported Encodings”列表中的每個框,但似乎沒有幫助。 有人有想法么?

我有同樣的問題。

首先,確保在項目屬性中添加了“West”編碼:

Xamarin國際化

如果這不起作用,問題是所需的dll不會被復制到.apk的程序集文件夾中。 這應該自動發生,但事實並非如此。 我提交了一個錯誤,所以你可以看看它是否已被修復:

Mono for Android / Xamarin Bugzilla

如果沒有,這是一個適合我的解決方法(來自Xamarin):

  1. 手動添加對I18N.dll和I18N.West.dll的引用
  2. 將兩個dll的“復制本地”屬性設置為“true”
  3. 添加以下虛擬代碼以將2個dll添加到.apk

    var ignore = new I18N.West.CP437();

  4. 確保'鏈接'設置為'無'

希望這可以幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM