web-dev-qa-db-fra.com

Fichier de ressources Android Xamarin introuvable

Je construis une application Android dans Visual Studio. Lorsque j'essaie de créer les éléments de référence d'application dans le dossier Ressources, j'obtiens l'une des deux erreurs suivantes.

Si je préface "Resource.Layout. [Id]" ou "Resource.Id. [Id]" avec l'espace de noms de mon projet, le message d'erreur suivant s'affiche:

Le type ou le nom de l'espace de noms 'Resource' n'existe pas dans l'espace de noms '[espace de nommage d'application]' (vous manque-t-il une référence Assembly?)

Si je ne préface pas l'appel à Resource avec mon espace de nom, il essaie d'accéder à la classe Android.Resource par défaut et j'obtiens cette erreur:

'Android.Resource.Layout' ne contient pas de définition pour '[fichier axml]'

Quelqu'un a-t-il déjà rencontré cette erreur? Je cherche depuis un moment et je ne peux rien trouver qui semble être faux. Le fichier Resource.Designer existe. Je l'ai supprimé et le laisse se régénérer. Les identifiants sont dans le fichier de ressources, le projet ne reconnaît tout simplement pas que la classe de ressources est présente.

À l'origine, l'espace de nom de cette application se terminait par "Android". En pensant que cela pourrait faire partie du problème, je l'ai remplacé par "_Android" et "AndroidApp", notamment par la modification de l'espace de noms par défaut dans les propriétés du projet et par la modification de la déclaration d'espace de noms dans chaque fichier. Cependant, cette erreur persiste à chaque changement.

14
rwakelan

Cela peut se produire lorsque vous ajoutez un nouveau fichier et que Visual studio le définit sur la mauvaise action de construction. Je sais que cela m'est arrivé plusieurs fois et je peux passer des siècles à essayer de comprendre ce qui se passe. Si vous cliquez avec le bouton droit sur le fichier et voyez l'action Construire. cela devrait être défini sur Ressource Android. J'espère que ça aide

Screen shot

18
InitLipton

L'espace de noms dans votre code et l'espace de noms dans l'explorateur de solution doivent être identiques.

7
user3674052

dans AndroidManifest.xml, assurez-vous qu'aucun nom ne dépend d'autres ressources qui n'existent plus pour Ex:

Android:label="@string/app_name" so we have to go to our resources/string.xml

<resources>
  <string name="app_id">ssss</string>  
</resources>
1
Abdullah Tahan