如何解决Xamarin Android编译器仍查找已删除的含特殊字符源图片问题
Xamarin Android 清除旧资源引用解决方案
1. 清理项目构建缓存
- 完全关闭当前使用的IDE(Visual Studio/Rider)
- 进入项目根目录,手动删除
bin、obj两个生成目录 - 进入解决方案根目录,删除对应的IDE缓存文件夹:Visual Studio 删除隐藏的
.vs文件夹,Rider 删除隐藏的.idea文件夹
2. 移除所有配置文件中的残留引用
- 打开
Properties/AndroidManifest.xml文件,搜索Default-Portrait@2x相关的配置,删除对应引用行,替换为你新的合法命名的资源文件(Android资源文件仅支持小写字母、数字、下划线,不能包含大写、@等特殊字符) - 检查
Resources目录下所有drawable子文件夹中的xml配置,比如闪屏页的layer-list定义文件,找到引用旧文件名的节点,替换为新的资源名 - 打开
Resources/values/styles.xml,检查主题配置中的windowBackground、图标相关配置项,有没有引用旧文件名,同步完成替换
3. 重新生成资源索引
- 重新打开IDE加载项目,右键点击解决方案选择「清理解决方案」
- 清理完成后右键点击解决方案选择「生成解决方案」,IDE会自动重新生成
Resource.designer.cs资源索引文件,旧资源的残留引用会被彻底清除
若执行完以上步骤仍有报错,可直接用文本编辑器打开项目的
.csproj工程文件,搜索包含Default-Portrait@2x的<AndroidResource>节点,删除对应行即可,避免项目配置硬编码了旧资源的引用。
内容的提问来源于stack exchange,提问作者Avatar
相关产品推荐
相关产品推荐

