使用Xamarin在Visual Studio开发安卓应用时遇CS0103错误求助
解决Xamarin Android中反复出现的CS0103 "Resource不存在" 错误
我之前也碰到过这个烦人的问题!Xamarin Android里的Resource找不到的问题有时候确实有点顽固,尤其是清理构建暂时解决但改代码又复发的情况,给你几个我亲测有效的排查和解决办法:
1. 检查Resource.designer.cs的生成配置
- 右键项目中
Resources文件夹下的Resource.designer.cs文件,选择属性 - 确保「生成操作」设置为
Embedded Resource,「自定义工具」设置为MSBuild:UpdateGeneratedFiles - 这个文件是自动生成的资源映射类,一旦生成配置出错,代码变更后就不会自动更新,导致
Resource无法识别
2. 验证项目.csproj文件的关键配置
手动打开你的安卓项目.csproj文件,检查是否包含以下配置段,如果缺失或路径错误,手动补充修正:
<AndroidResgenFile>Resources\Resource.designer.cs</AndroidResgenFile> <AndroidResgenClass>Resource</AndroidResgenClass> <GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
同时排查资源文件是否存在重复ID冲突:比如布局文件中有没有重复的android:id属性,这类冲突会导致Resource类生成失败。
3. 彻底清理VS缓存与项目编译文件
有时候VS的缓存会干扰编译流程,除了常规的「清理解决方案」,还可以做这些操作:
- 关闭Visual Studio,删除项目目录下的
bin和obj文件夹 - 删除VS的组件模型缓存目录(路径示例:
C:\Users\[你的用户名]\AppData\Local\Microsoft\VisualStudio\[你的VS版本号]\ComponentModelCache) - 重新打开VS,执行「重新生成解决方案」
4. 再次确认资源文件的命名与存放规则
虽然你提到文件名正常,但再仔细核对以下规则:
- 所有资源文件名必须是小写字母+下划线,不能包含大写、空格或特殊字符(比如
main_layout.xml是正确的,MainLayout.xml是错误的) - 资源必须放在
Resources对应子文件夹中:布局文件在layout,图片在drawable/mipmap,字符串在values等,不能放错目录
5. 更新Xamarin Android组件
打开Visual Studio的「工具」→「获取工具和功能」,检查Xamarin Android是否有可用的稳定版更新。旧版本的Xamarin偶尔会存在这类编译bug,更新到最新版本往往能解决问题。
这些方法我试过大多数都能解决这种反复出现的Resource找不到问题,你可以逐个尝试,应该能搞定!
内容的提问来源于stack exchange,提问作者Adeptus Mechanicus
相关产品推荐
相关产品推荐

