这两天在讲使用.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/下,哇咔咔,搞定了。

凡事搞定原理就不难,遇到问题要学会看错误提示消息和分析,不要像无头苍蝇一样乱撞

更多相关文章

  1. 非root下,如何将android中的数据库文件存放到外部存储并导出
  2. android 将app添加进入文件的打开方式
  3. android:scaleType="matrix"布局文件加载图片时候的显示方式
  4. Android读取sql文件并导入数据库
  5. Android音频处理——通过AudioRecord去保存PCM文件进行录制,播放,
  6. Android的XML布局文件中layout_width和width的区别
  7. Android 资源文件介绍
  8. Android执行文件apk的组成结构

随机推荐

  1. 浅谈android的selector背景选择器
  2. Android分析之LowMemoryKiller
  3. Android(安卓)Binder入门指南之Binder服
  4. Android蓝牙开发浅析
  5. UnityAndroid开发(1) 打包和使用Sqlite数
  6. Android(安卓)老生常谈之消息机制
  7. Android(安卓)4层框架
  8. 调用Android自带浏览器打开网页
  9. Android图像处理之GPUImage for Android
  10. android音频hal层简介