2016-12-13 2 views
1

После обновления Mac OS X до Sierra у меня возникла проблема с созданием моего решения.Xamarin потерял ресурсы после миграции

Это проблемы, связанные с файлом ресурсов, где я получаю 16 ошибок, как:

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

И то же самое и для:

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 

Package.config:

<?xml version="1.0" encoding="utf-8"?> 
<packages> 
    <package id="AndroidEasingFunctions" version="1.0.2.0" targetFramework="MonoAndroid60" /> 
    <package id="AutoFitTextView" version="0.2.1.0" targetFramework="MonoAndroid60" /> 
    <package id="Bolts" version="1.4.0.1" targetFramework="monoandroid70" /> 
    <package id="HtmlAgilityPack" version="1.4.9.5" targetFramework="monoandroid70" /> 
    <package id="Newtonsoft.Json" version="9.0.1" targetFramework="monoandroid70" /> 
    <package id="NineOldAndroids" version="2.4.0" targetFramework="MonoAndroid60" /> 
    <package id="RecyclerViewAnimators" version="2.1.0.0" targetFramework="MonoAndroid60" /> 
    <package id="Refractored.PagerSlidingTabStrip" version="1.1.6" targetFramework="monoandroid70" /> 
    <package id="SharpZipLib.Portable" version="0.86.0.0003" targetFramework="MonoAndroid50" /> 
    <package id="Xamarin.Android.Support.Animated.Vector.Drawable" version="24.2.1" targetFramework="monoandroid70" /> 
    <package id="Xamarin.Android.Support.Compat" version="24.2.1" targetFramework="monoandroid70" /> 
    <package id="Xamarin.Android.Support.Core.UI" version="24.2.1" targetFramework="monoandroid70" /> 
    <package id="Xamarin.Android.Support.Core.Utils" version="24.2.1" targetFramework="monoandroid70" /> 
    <package id="Xamarin.Android.Support.CustomTabs" version="24.2.1" targetFramework="monoandroid70" /> 
    <package id="Xamarin.Android.Support.Design" version="24.2.1" targetFramework="monoandroid70" /> 
    <package id="Xamarin.Android.Support.Fragment" version="24.2.1" targetFramework="monoandroid70" /> 
    <package id="Xamarin.Android.Support.Media.Compat" version="24.2.1" targetFramework="monoandroid70" /> 
    <package id="Xamarin.Android.Support.v4" version="24.2.1" targetFramework="monoandroid70" /> 
    <package id="Xamarin.Android.Support.v7.AppCompat" version="24.2.1" targetFramework="monoandroid70" /> 
    <package id="Xamarin.Android.Support.v7.CardView" version="24.2.1" targetFramework="monoandroid70" /> 
    <package id="Xamarin.Android.Support.v7.RecyclerView" version="24.2.1" targetFramework="monoandroid70" /> 
    <package id="Xamarin.Android.Support.Vector.Drawable" version="24.2.1" targetFramework="monoandroid70" /> 
    <package id="Xamarin.Facebook.Android" version="4.16.1" targetFramework="monoandroid70" /> 
    <package id="Xamarin.Firebase.Common" version="32.961.0" targetFramework="monoandroid70" /> 
    <package id="Xamarin.GooglePlayServices.Ads" version="32.961.0" targetFramework="monoandroid70" /> 
    <package id="Xamarin.GooglePlayServices.Ads.Lite" version="32.961.0" targetFramework="monoandroid70" /> 
    <package id="Xamarin.GooglePlayServices.Analytics" version="32.961.0" targetFramework="monoandroid70" /> 
    <package id="Xamarin.GooglePlayServices.Analytics.Impl" version="32.961.0" targetFramework="monoandroid70" /> 
    <package id="Xamarin.GooglePlayServices.AppIndexing" version="32.961.0" targetFramework="monoandroid70" /> 
    <package id="Xamarin.GooglePlayServices.Base" version="32.961.0" targetFramework="monoandroid70" /> 
    <package id="Xamarin.GooglePlayServices.Basement" version="32.961.0" targetFramework="monoandroid70" /> 
    <package id="Xamarin.GooglePlayServices.Clearcut" version="32.961.0" targetFramework="monoandroid70" /> 
    <package id="Xamarin.GooglePlayServices.Gass" version="32.961.0" targetFramework="monoandroid70" /> 
    <package id="Xamarin.GooglePlayServices.Tasks" version="32.961.0" targetFramework="monoandroid70" /> 
</packages> 

Как это возможно? Может быть, мне не хватает ссылки на что-то?

+1

В Android SDK Manager обновление Android SDK Tools, SDK Platform и (в дополнение) Android Support Repository к последней версии. Если это не помогло, добавьте в свой список вопросов ссылки NuGet (файл packages.config) –

+0

Обновлено, без изменений. Добавлено package.config –

ответ

1

Это зависит от версии поддержки libs. Anything < 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.1 и 23.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 

Как вы можете заметить некоторые из ваших проблемных ресурсов в этом списке. Это означает, что у вас, вероятно, есть зависимость в вашем проекте, которая полагалась на поддержку libs 23.1.1 и не поддерживает 24.2.1, который вы сейчас установили. Таким образом, вам придется идентифицировать этот проблемный пакет и обновить его или попросить сопровождающего обновить его для обеспечения совместимости.

+0

Я обновил все, но у меня все еще такая же проблема. Как я могу найти пакет, который опирается на него? Есть ли способ, отличный от «remove, refactor, try»? –

+0

Вы можете использовать 'dotPeek' или посмотреть страницу Nuget для этого пакета, чтобы увидеть его зависимости. –

+0

Чтобы дать небольшой толчок, найдите библиотеку, которая может иметь зависимость от 'Xamarin.Android.Support.v7.AppCompat'. Я считаю, что если вы должны дважды щелкнуть исходные сообщения об ошибках, это должно привести вас к 'Resources.designer.cs' и сообщить вам, откуда этот ресурс. –

Смежные вопросы