解決Mono for android的xml編輯器無法代碼完成的問題


   這兩天在講使用.Net開發Android的Mono for android技術,發現使用的開發工具在停止調試的時候特別卡,能卡上幾十秒鍾,而且經常彈出報錯的對話框,嚴重影響心情,因此昨天就下載安裝了最新版本的開發工具Xamarin Mono For Android 4.6。安裝后也不卡了,也不談對話框了,太爽了。但是很快發現一個很大的問題“axml編輯器中的無法自動進行標簽的自動提示”,這就太降低開發效率。

    遇到問題要學會分析問題,visual studio中對於xml文件提供了自動提示、自動代碼完成的功能,其原理是:visual studio會根據當前編輯xml文件的schema聲明到Visual studio安裝路徑下的Xml\Schemas中找和當前編輯的xml文件的schema一致的xsd文件,因為xsd文件是對xml文件格式的標准約束,這樣VS就如何完成自動提示了。像Web.config這類文件的自動提示功能就是這樣實現的。

   既然明白了這個原理,就來分析一下,打開Xml\Schemas文件夾發現了一個monodroidcatalog.xml文件和monoandroid貌似又關系,打開這個文件發現內容如下:

<SchemaCatalog xmlns="http://schemas.microsoft.com/xsd/catalog">
  <Schema href="%ProgramFiles%/MSBuild/Novell/android-layout-xml.xsd" />
  <Schema href="%ProgramFiles%/MSBuild/Novell/schemas.android.com.apk.res.android.xsd" targetNamespace="http://schemas.android.com/apk/res/android" />

  <Association extension="axml" schema="%ProgramFiles%/MSBuild/Novell/android-layout-xml.xsd" />
</SchemaCatalog>


    猜測這個文件是告訴VS“xsd文件在%ProgramFiles%/MSBuild/Novell/下的android-layout-xml.xsd等文件中”,相當於是一個“指路者”,但是我打開%ProgramFiles%/MSBuild/Novell/卻發現根本沒有這些文件,看來找到問題了。
    在磁盤上搜索,在C:\Program Files\Xamarin Studio\AddIns\MonoDevelop.MonoDroid\schemas文件夾下發現了:android-layout-xml.xsd、schemas.android.com.apk.res.android.xsd這兩個文件,把他們拷貝到%ProgramFiles%/MSBuild/Novell/下,哇咔咔,搞定了。

    凡事搞定原理就不難,遇到問題要學會看錯誤提示消息和分析,不要像無頭蒼蠅一樣亂撞

如鵬網.Net培訓班正在報名,有網絡的地方就可以參加如鵬網的學習,學完就能高薪就業,點擊此處了解

 

    三年前只要懂“三層架構”就可以說“精通分層架構”;現在則需要懂IOC(AutoFac等)、CodeFirst、lambda、DTO等才值錢;

    三年前只要會SQLServer就可以說自己“精通數據庫開發”;現在則需還需要掌握MySQL等開源數據庫才能說是“.Net開源”時代的程序員;

    三年前只要會進行用戶上傳內容的安全性處理即可;現在則需要熟悉雲存儲、CDN等才能在雲計算時代游刃有余;

    三年前只要掌握Lucene.Net就會說自己“熟悉站內搜索引擎開發”;現在大家都用ElasticSearch了,你還用Lucene.Net就太老土了;

    三年前發郵件還是用SmtpClient;現在做大型網站發郵件必須用雲郵件引擎;

    三年前緩存就是Context.Cache;現在則是Redis、Memcached的天下;

    如鵬網再次引領.Net社區技術潮流!點擊此處了解如鵬網.Net最新課程

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM