迁移后Xamarin缺少资源

时间:2016-12-13 15:37:48

标签: xamarin xamarin.android android-resources

将MacOs X升级到Sierra后,我在构建解决方案时遇到了一些问题。

这个问题与资源文件有关,我得到16个错误,如:

false

同样适用于:

 Error: Resource.Drawable does not contain a definition for "abc_ratingbar_full_material" 

Package.config:

abc_search_view_text_min_width
abc_btn_rating_star_off_mtrl_alpha
abc_btn_rating_star_on_mtrl_alpha
abc_dialog_material_background_dark
abc_dialog_material_background_light
abc_ic_ab_back_mtrl_am_alpha
abc_ic_clear_mtrl_alpha
abc_ic_go_search_api_mtrl_alpha
abc_ic_menu_moreoverflow_mtrl_alpha
abc_ic_search_api_mtrl_alpha
abc_ic_voice_search_api_mtrl_alpha

怎么可能?难道我错过了对某事的提及吗?

1 个答案:

答案 0 :(得分:1)

这取决于支持库的版本。什么< 25.0.1将下载缓存并使用该缓存而不是本地SDK下载,因此请记住这一点(因为它需要Xamarin.Build.Download的依赖关系)。因此,由于您使用24.2.1支持库下载缓存,因此需要阅读并查看支持库之间的更改差异。例如,这是您的确切问题:

https://developer.android.com/sdk/support_api_diff/23.2.0/changes/android.support.v7.appcompat.R.drawable.html

这展示了23.1.123.2.0之间的变化。

它显示以下字段为已删除:

int abc_btn_check_to_on_mtrl_000     
int abc_btn_check_to_on_mtrl_015     
int abc_btn_radio_to_on_mtrl_000     
int abc_btn_radio_to_on_mtrl_015     
int abc_ic_ab_back_mtrl_am_alpha     
int abc_ic_clear_mtrl_alpha  
int abc_ic_go_search_api_mtrl_alpha  
int abc_ic_menu_copy_mtrl_am_alpha   
int abc_ic_menu_cut_mtrl_alpha   
int abc_ic_menu_moreoverflow_mtrl_alpha  
int abc_ic_menu_paste_mtrl_am_alpha  
int abc_ic_menu_selectall_mtrl_alpha     
int abc_ic_menu_share_mtrl_alpha     
int abc_ic_voice_search_api_mtrl_alpha

您可以注意到此列表中存在一些问题资源。这意味着您的项目可能依赖于支持库23.1.1,并且不支持您当前安装的24.2.1。因此,您必须识别有问题的包并更新它,或要求维护者更新它以确保兼容性。