Xamarin Android调用SetContentView报错CS1061 Resources无layout定义问询
错误排查解决方案
- 修正资源调用写法
Xamarin.Android 项目自动生成的资源标识类为单数Resource,且资源分类属性首字母大写,你代码中调用的Resources.layout.main写法有误,将SetContentView行代码修改为:
注意末尾的SetContentView(Resource.Layout.Main);Main要和你layout文件夹下的布局文件名保持一致,比如你的布局文件是main.axml就写Main,是activity_main.axml就写ActivityMain。 - 检查布局文件命名合规性
Android资源文件仅支持小写字母a-z、数字0-9、下划线作为文件名,不允许出现大写字母、空格、中文、特殊符号,不符合规则的文件名会导致资源类无法正常生成对应属性。 - 触发资源设计文件重新生成
右键点击项目根目录,选择「重新生成」,强制项目重新生成Resource.designer.cs资源映射文件,避免该文件缓存异常导致的属性缺失。 - 检查布局文件的生成操作属性
右键点击layout文件夹下的目标布局文件,选择「属性」,确认「生成操作」字段的取值为AndroidResource,如果不是手动修改后重新编译即可。 - 排查命名空间冲突
如果你项目中自定义了名为Resource的类,会和系统生成的资源类产生冲突,此时可以写全资源类的命名空间来解决,示例:SetContentView(HelloWorld.Resource.Layout.Main);
内容的提问来源于stack exchange,提问作者vepsavuspo
相关产品推荐
相关产品推荐

