VS2017 Enterprise Xamarin Android项目AXML属性未声明问题求助
我之前也碰到过几乎一模一样的问题,折腾了好一阵才搞定,结合你已经尝试过的方案,给你几个额外的排查和解决方向:
匹配Android SDK Build Tools与Target SDK版本
VS2017的Xamarin设计器对Build Tools版本的兼容性比较严格,确保你安装的Build Tools版本和项目设置的Target Android Version完全一致。比如如果项目目标是SDK 23,就去Android SDK管理器里安装对应版本的Build Tools(不要选最新版,因为旧版VS对新工具支持有限),安装完成后重启Visual Studio。彻底清理项目缓存
有时候缓存文件损坏会导致设计器识别异常:- 右键项目选择「清理」,再右键解决方案选择「重建解决方案」
- 关闭VS,手动删除项目目录下的
bin和obj文件夹 - 重新打开项目,等待设计器加载完成
验证AXML根元素命名空间
检查你的布局文件根元素是否正确声明了Android命名空间:xmlns:android="http://schemas.android.com/apk/res/android"如果这个命名空间缺失或拼写错误,所有
android:开头的标准属性都会被提示未声明。重置Xamarin Android设计器配置
打开VS的「工具」→「选项」→「Xamarin」→「Android设置」,找到「重置设计器」按钮,点击后重启VS,这个操作会清除设计器的缓存配置,解决一些奇怪的兼容性问题。统一项目的SDK版本配置
确保项目的「目标Android版本」和「最低Android版本」对应的SDK都已完整安装,且版本差距不要过大(比如不要最低设为14,目标设为28,这种跨度过大的配置容易引发设计器识别问题)。
你提到的切换SDK版本、升级JDK、重装Xamarin工具这些都是非常合理的常规排查步骤,我当时也是在这些操作的基础上,结合清理缓存和匹配Build Tools版本才彻底解决了属性未声明的提示问题。
内容的提问来源于stack exchange,提问作者Bamdad

