web-dev-qa-db-fra.com

Xamarin: aucune ressource trouvée qui correspond aux noms donnés (AppCompat)

J'ai déployé une machine virtuelle sur Azure. J'ai installé Visual Studio 2015, Xamarin et d'autres outils de développement mobile . J'ai fait la même configuration sur mon ordinateur local pour tester mes applications sur mes appareils à partir de Visual Studio.

La seule différence est l'installation du SDK Android. Sur ma machine locale, je n'ai pas de système d'image.

 Android DSK Manager

J'ai développé une application sur ma machine virtuelle. Je n'ai aucune erreur pendant la compilation . J'utilise Android.Support.Design, Android.Support.V4, Android.Support.V7.AppCompat, Android.Support.V7.RecyclerView (dernières versions de NuGet) et leur implémentation de MvvmCross.

 My Azure Virtual Machine

Je voulais continuer le développement de l'application sur mon ordinateur local. NuGet les paquets sont correctement restaurés.

Quand je construis une application, j'ai quelques erreurs:

 My Local Machine

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

J'ai essayé 

  • changer 'Theme.AppCompat.Light.DarkActionBar' par '@Android: styles/Theme.AppCompat.Light.DarkActionBar' et quelques autres (Android/styles)
  • changer target=Android-19 en target=Android-21 dans C:\Program Files (x86)\Android\android-sdk\extras\Android\support\v7\appcompat\project.properties

Quelqu'un pourrait-il m'expliquer quel est le problème? J'ai abandonné. Même système d'exploitation, mêmes outils, même SDK, même JDK, 

12
Andres Talavera

Je suis passé des composants Xamarin aux packages NuGet et cela fonctionne maintenant . MvvmCross a installé les dernières versions des packages Nuget (23.3.0) pour ses dépendances (MvvmCross.Droid.Support.V4, MvvmCross.Droid.Support.V7.AppCompat , MvvmCross.Droid.Support.V7.Preference ...). et composants utilisés plus tôt.

Je devais également copier le dossier "C:\Utilisateurs\andres\AppData\Local\Xamarin" à partir de ma machine virtuelle.

Dans Visual Studio, je n'avais aucune notification concernant une mise à jour disponible pour les composants.

0
Andres Talavera

J'ai le même problème avec Xamarin Studio sur Mac. Ce que j’ai fait pour résoudre le problème, c’est de mettre à jour le Xamarin.Android.Support.v7.AppCompat du paquet NuGet. Je pense que vous pouvez également utiliser la même approche pour résoudre votre problème sous Visual Studio.

Regarde
 enter image description here

12
Nghiem Dao

Dans mon cas, "Version Android minimale" API 21, mais "Version Android cible" est "utiliser la version du framework cible (API 23)", mais cela ne fonctionnait pas auparavant. pointez à la fois la version en tant qu'API 21 et tout d'un coup, elle commence à fonctionner comme prévu.

Plus tard, j'ai modifié la version minimale Android pour API 21 et la version cible Android comme "utiliser la version du cadre cible (API 23)". 

5
Boobalan

Ce sont des étapes:

Création d'une nouvelle application  enter image description here

Puis faites un clic droit sur "Xamarin.Android.Support.v7.AppCompat", choisissez "mettre à jour".

Attendez que IDE ait terminé la mise à jour et reconstruisez l'application .  enter image description here

1
Nghiem Dao

J'ai eu le même problème parce que, j'utilisais ces éléments dans 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>

mais dans color.xml, aucun colorAccent n'a été défini

<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>

simplement résolu en ajoutant 

<color name="colorAccent">#3498db</color>
1
TAHA SULTAN TEMURI

Essaye ça.

Accédez à C:\Program Files (x86)\Android\android-sdk\extras\Android\support\v7\appcompat.

Ouvrez le fichier project.properties.

Changez la cible Android en target=Android-21.

1
Vaikesh

Dans mon cas, faire correspondre la version de Xamarin.Support à la version du framework cible a fonctionné.

Par exemple: Si vous ciblez 25 API, vos bibliothèques de support doivent également être 25.x ..

0
Afzal Ali

Dans mon cas, j'ai pu résoudre ce problème en ajoutant Android-layout-xml.xsd et schemas.Android.com.apk.res.Android.xsd sous le menu XML -> Schemas (accessible uniquement dans un fichier axml). Pour l'emplacement exact de ces fichiers, je suggère de faire une recherche sur l'ordinateur car ils ne sont pas dans le dossier de Xamarin, comme suggéré dans d'autres réponses. Dans mon cas, ils étaient dans le projet sous le dossier obj [obj -> Debug -> Schemas ...]

J'espère que cela vous aidera avec votre problème.

0
Adrian C.

Essayez une ou toutes les solutions suivantes:

  1. Restauration de package à l'échelle de la solution
  2. Redémarrer Visual Studio
  3. Nettoyer et reconstruire

Cela a résolu le problème pour moi

0
James Wierzba

J'ai eu un problème similaire lors de l'utilisation de MSBuild sans Visual Studio sur une machine virtuelle. J'essayais de construire un projet Android Xamarin. Le message "erreur lors de l'extraction du parent pour l'élément theme.appcompat.light.darkactionbar" a continué à tomber. J'ai pu le résoudre en ajoutant l'argument/t: restore - par exemple

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

Notez que la première fois que je l'ai exécuté avec l'argument de restauration, il échouait toujours, mais lorsque j'ai essayé de le reconstruire, cela fonctionnait. J'espère que cela va aider quelqu'un - il m'a fallu quelques heures pour configurer MSBuild correctement!

Dans mon cas, le problème était que je possédais un serveur de paquets Nuget local.

Il m'a fallu un certain temps pour comprendre que Xamarin Studio essayait de mettre à jour les paquets à partir d'une source incorrecte.

0
mrelva