Visual Studio 2017输入Resource.Layout不显示.axml文件问题求助
作为Xamarin Android新手碰到这种情况太正常了,我帮你梳理几个最常见的原因和对应的解决步骤:
检查布局文件的命名与位置
Xamarin对布局文件命名有严格要求:必须是小写字母+下划线的格式(比如activity_main.axml),不能有大写字母、空格或者特殊字符。同时要确认文件确实放在Resource/Layout文件夹下,别误放到Resources根目录、drawable这类其他目录里。确认布局文件的Build Action设置
右键点击布局文件选择「属性」,查看Build Action是否设置为AndroidResource。如果是Content或None这类其他选项,Xamarin不会把它识别为布局资源,自然不会生成对应的ID,代码补全也就找不到了。清理并重建项目
Xamarin靠自动生成的Resource.designer.cs文件映射布局ID,要是这个文件没及时更新,就会出现补全失效的情况。你可以:- 点击Visual Studio顶部的「生成」→「清理解决方案」
- 接着点击「生成」→「重建解决方案」
- 等重建完成后,再回到Activity的OnCreate方法里试试代码补全
检查Resource.designer.cs的生成情况
打开Resources文件夹下的Resource.designer.cs文件,搜索你的布局文件名对应的ID(比如布局是my_layout.axml,对应的ID应该是Resource.Layout.my_layout)。如果找不到,说明之前的步骤有问题,重复清理重建操作,或者检查布局XML是否有语法错误(比如标签没闭合)。手动输入布局ID测试
如果代码补全还是不显示,你可以手动输入SetContentView(Resource.Layout.你的布局文件名),要是没有编译错误,那只是补全缓存的问题,重启Visual Studio就能解决。
内容的提问来源于stack exchange,提问作者RjV0705

