Xamarin: не найден ресурс, соответствующий данным именам (AppCompat)

Я развернул виртуальную машину на Azure. Я установил Visual Studio 2015, Xamarin и другие мобильные средства разработки. Я сделал ту же настройку на своем локальном компьютере, чтобы тестировать свои приложения на своих устройствах из Visual Studio

Единственное различие заключается в установке Android SDK. На моей локальной машине у меня нет системы изображений.

Android DSK Manager

Я разработал приложение на своей виртуальной машине. У меня нет ошибок во время компиляции. Я использую Android.Support.Design, Android.Support.V4, Android.Support.V7.AppCompat, Android.Support.V7.RecyclerView(последние выпуски от NuGet) и их реализацию MvvmCross.

Моя Azure Virtual Machine

Я хотел продолжить разработку приложения на своем локальном компьютере. NuGet пакеты правильно восстановлены.

Когда я создаю приложение, у меня есть некоторые ошибки:

Мой локальный компьютер

Error       Error retrieving parent for item: No resource found that matches the given name 'Theme.AppCompat.Light.DarkActionBar'.  Novatech.Droid  D:\Sources\Novatech\Novatech.Droid\Resources\values\styles.xml
Error       Error retrieving parent for item: No resource found that matches the given name 'Base.Widget.AppCompat.Button'. Novatech.Droid  D:\Sources\Novatech\Novatech.Droid\Resources\values\styles.xml
Error       No resource found that matches the given name: attr 'buttonStyle'.  Novatech.Droid  D:\Sources\Novatech\Novatech.Droid\Resources\values\styles.xml
Error       No resource found that matches the given name: attr 'colorAccent'.  Novatech.Droid  D:\Sources\Novatech\Novatech.Droid\Resources\values\styles.xml
Error       No resource found that matches the given name: attr 'colorPrimary'. Novatech.Droid  D:\Sources\Novatech\Novatech.Droid\Resources\values\styles.xml
Error       No resource found that matches the given name: attr 'colorPrimaryDark'. Novatech.Droid  D:\Sources\Novatech\Novatech.Droid\Resources\values\styles.xml
Error       No resource found that matches the given name: attr 'windowActionBar'.  Novatech.Droid  D:\Sources\Novatech\Novatech.Droid\Resources\values\styles.xml
Error       No resource found that matches the given name: attr 'windowNoTitle'.    Novatech.Droid  D:\Sources\Novatech\Novatech.Droid\Resources\values\styles.xml
Error       No resource found that matches the given name: attr 'windowNoTitle'.    Novatech.Droid  D:\Sources\Novatech\Novatech.Droid\Resources\values\styles.xml

Я пробовал

  • изменить 'Theme.AppCompat.Light.DarkActionBar' на '@android: styles/Theme.AppCompat.Light.DarkActionBar' и некоторые другие (андроид/стили)
  • изменить target=android-19 на target=android-21 в C:\Program Files (x86)\Android\android-sdk\extras\android\support\v7\appcompat\project.properties

Может кто-нибудь объяснить мне, в чем проблема? Я бросил. Такая же ОС, те же инструменты, тот же SDK, тот же JDK,

Ответ 1

Я переключился с Xamarin Components на пакеты NuGet и теперь работает. MvvmCross установил последние версии пакетов Nuget (23.3.0) для своих зависимостей (MvvmCross.Droid.Support.V4, MvvmCross.Droid.Support.V7.AppCompat, MvvmCross.Droid.Support.V7.Preference...). и компоненты, используемые ранее.

Мне также пришлось скопировать папку "C:\Users\andres\AppData\Local\Xamarin" с моей виртуальной машины.

В Visual Studio у меня не было уведомлений об обновлении, доступном для компонентов.

Ответ 2

У меня такая же проблема с Xamarin Studio на Mac. Я решил решить проблему обновления пакета NuGet Xamarin.Android.Support.v7.AppCompat. Я думаю, вы можете использовать тот же подход, чтобы исправить вашу проблему в Visual Studio.

Посмотрите
введите описание изображения здесь

Ответ 3

В моем случае "Минимальная версия Android" API 21, но "Целевая версия Android" - "использовать версию целевой среды (API 23)", однако это wasn "Я работаю раньше, тогда я указываю обе версии как API 21, и внезапно все работает, как ожидалось.

Позже я изменил Минимальную версию Android - API 21 и целевую версию Android как "использовать целевую версию рамки (API 23)"

Ответ 4

У меня была такая же проблема, потому что я использовал эти элементы в style.xml

  <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>

но внутри color.xml не было определено colorAccent

<resources>
<color name="primary">#2196F3</color>
<color name="primaryDark">#1976D2</color>
<color name="accent">#FFC107</color>
 <color name="window_background">#F5F5F5</color>
 <color name="splash_background">#3498DB</color>

просто решается добавлением

<color name="colorAccent">#3498db</color>

Ответ 5

Попробуйте это.

Перейдите к C:\Program Files (x86)\Android\android-sdk\extras\android\support\v7\appcompat.

Откройте project.properties файл.

Измените целевой Android на target=android-21.

Ответ 6

Это шаги:

Создание нового приложения введите описание изображения здесь

Затем щелкните правой кнопкой мыши на "Xamarin.Android.Support.v7.AppCompat", выберите "Обновить".

Подождите, пока IDE завершит обновление и перестроит приложение. введите описание изображения здесь

Ответ 7

В моем случае я смог исправить эту проблему, добавив android-layout-xml.xsd и schemas.android.com.apk.res.android.xsd в меню XML -> Schemas (доступен только в файле axml). Для точного местоположения этих файлов я предлагаю выполнить поиск на компьютере, потому что они не находятся в папке Xamarin, как предложено в других ответах. В моем случае они были в проекте под папкой obj [ obj -> Debug -> Schemas ...]

Надеюсь, это поможет вам в решении вашей проблемы.

Ответ 8

В моем случае проблема заключалась в том, что у меня есть локальный сервер пакетов Nuget.

Понадобилось некоторое время, чтобы понять, что Xamarin Studio пытается обновить пакеты из неправильного источника.

Ответ 9

Попробуйте один или все из них в указанном порядке:

  1. Решение широкого восстановления пакета
  2. Перезапустите Visual Studio
  3. Очистить и восстановить

Это решило проблему для меня

Ответ 10

В моем случае работа с версией Xamarin.Support для версии Target Framework работала.

Например: Если вы ориентируетесь на 25 API, то ваши библиотеки поддержки также должны быть 25.x..

Ответ 11

У меня была похожая проблема при использовании MSBuild без Visual Studio на виртуальной машине. Я пытался построить проект Xamarin для Android. Он продолжал падать с сообщением "ошибка при получении родителя для элемента theme.appcompat.light.darkactionbar". Я смог решить это, добавив аргумент /t: restore - например

msbuild  /t:SignAndroidPackage /t:restore /p:Configuration=Release <project path>

Обратите внимание, что в первый раз, когда я запустил его с аргументом восстановления, он все еще не удался, но когда я попытался построить его снова, это сработало. Надеюсь, это кому-нибудь поможет - у меня ушло несколько часов, чтобы правильно настроить MSBuild!

Ответ 12

Я получал ошибки для атрибутов, на которые ссылались стили, поэтому переименовал attrs.xml в Attrs.xml (а затем снова, когда ошибка снова возникла после чистой перестройки).

Ответ 13

У меня была такая же проблема после перемещения моего проекта из одной папки в другую на точно таком же ноутбуке. Я получил это методом проб и ошибок и до сих пор не знаю причину проблемы. Для ее устранения потребовалось несколько раз очистить решение и перезапустить Visual Studio.

Ответ 14

Ваша версия SDK для компиляции должна соответствовать основной версии библиотеки поддержки.

Поскольку вы используете библиотеку поддержки v23, вам нужно скомпилировать ее с Android SDK v23.

Кроме того, вы можете продолжить компиляцию с v22 Android SDK, переключившись на последнюю версию библиотеки поддержки v22.