解决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/下,哇咔咔,搞定了。
凡事搞定原理就不难,遇到问题要学会看错误提示消息和分析,不要像无头苍蝇一样乱撞
更多相关文章
- 非root下,如何将android中的数据库文件存放到外部存储并导出
- android 将app添加进入文件的打开方式
- android:scaleType="matrix"布局文件加载图片时候的显示方式
- Android读取sql文件并导入数据库
- Android音频处理——通过AudioRecord去保存PCM文件进行录制,播放,
- Android的XML布局文件中layout_width和width的区别
- Android 资源文件介绍
- Android执行文件apk的组成结构