web-dev-qa-db-fra.com

Visual Studio 2017 - Xamarin - Le fichier "obj\Debug\Android\bin\packaged_resources" n'existe pas.

Je me bats avec ce problème depuis 2 jours déjà et je ne trouve aucune solution.

J'ai une application Android Xamarin dans Visual Studio 2017 composée de trois projets:

  1. Projet Xamarin.Android (principal)
  2. Tests unitaires spécifiques à Android exécutés sur le périphérique - projet de type NUnit 3 Test Project (Android) créé à l'aide de NUnit Templates for Visual Studio
  3. Projet de tests unitaires indépendant de la plate-forme (projet de type Unit Test Project (.NET Framework))

Tout a bien fonctionné jusqu'à maintenant. Lorsque j'ai sélectionné mon projet principal en tant que démarrage, mon application a été déployée sur le périphérique/l'émulateur. Lorsque j'ai sélectionné mon projet de tests unitaires spécifique à Android, le projet de test a été déployé et les tests unitaires exécutés par nUnit Xamarin Runners sur le périphérique/émulateur.

Cependant, il y a quelques jours, j'ai mis à jour mon Visual Studio 2017 avec la dernière mise à jour disponible et maintenant, lorsque j'essaie de générer ce projet de tests unitaires spécifique à Android j'obtiens le message d'erreur suivant:

The file "obj\Debug\Android\bin\packaged_resources" does not exist.

J'ai cherché partout, y compris ceci et ceci SO sujets. J'ai également totalement réinstallé Visual Studio 2017 et Xamarin avec le SDK Android inclus. Rien n'a aidé. D'après ce que j'ai lu, je soupçonne que quelque chose ne va pas avec les versions de Android SDK Build-tools que j'ai installé. Voici ce que j'ai actuellement installé dans le gestionnaire de SDK:  enter image description here

Comme les autres SO l'ont suggéré, j'ai essayé de désinstaller le dernier Android SDK Build-tools (25.0.2) et d'installer la version 23.0.3 (tous mes projets visent Android 6.0), mais ne aide pas, j'ai toujours la même erreur.

Cela vaut peut-être la peine d’ajouter que ce problème a peut-être commencé à se produire lorsque j’ai essayé d’implémenter RecyclerView dans mon application en lisant this tutoriel, où ils ont suggéré d’installer Android 7.1.1 (API 25) dans le SDK Directeur. Cependant, j'ai annulé tous mes changements par la suite et j'ai même réintégré VS2017 + Xamarin.

Avez-vous une autre idée pourquoi cela peut être? J'apprécierais vraiment toute aide. Merci!

EDIT 2017-04-09:

Egh, j'ai retiré VS2017, installé VS2015 avec le tout nouveau SDK Android et toujours le même problème :(

24
DawidSibinski

J'ai enfin trouvé quel était le problème. Cela ne concernait aucun composant de la version du gestionnaire de SDK ou du VS. 

Après tutoriel de localisation de developer.xamarin.com , j'ai joué un peu avec Strings.xml dans mon projet Android. Je voulais que mon libellé Activités soit également pris dans les ressources, donc dans la variable ActivityAttribute, j'ai défini:

[Activity(Label = "@string/peopleListTitle")]

et ajouté cette valeur dans le fichier Strings.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <!-------Other resources values ----->
    <string name="peopleListTitle">People List</string>
</resources>

Dans ce cas, ma construction échoue avec l'erreur susmentionnée:

The file "obj\Debug\Android\bin\packaged_resources" does not exist

Quand je change ActivityAttribute pour utiliser une chaîne directement:

[Activity(Label = "People List")]

la construction passe sans aucun problème. 

J'ai réussi à trouver une solution, mais en réalité, je ne sais pas pourquoi cela ne se construit pas lorsque j'essaie d'utiliser le texte d'étiquette défini dans Strings.xml.

BTW, j'ai réussi à trouver quel était le problème en définissant la verbosité de sortie de génération sur Diagnostic dans Outils -> Options -> Projets et solutions -> Construire et exécuter, qui donne une information détaillée sur l'échec de la construction dans la fenêtre de sortie.

22
DawidSibinski

J'ai eu le même problème. Après avoir supprimé le signe "-" du nom du fichier image, le problème est résolu. Mauvais message d'erreur! CA ne devrait pas être: 

Le fichier "obj\Debug\Android\bin\packaged_resources" n'existe pas.

Écrire un message d'erreur comme celui-ci amène le développeur à penser à autre chose alors que le problème est le nom de fichier illégal.

17
James Toalu

J'ai eu le même problème lorsque j'ai ajouté une nouvelle image en tant que ressource. Il y avait un '-' dans le nom du fichier (Nom de ressource non valide). J'ai renommé et supprimé ce caractère et tous les bons . Le nom de la ressource ne peut être composé que de 0-9, a-z ou A-Z ou une combinaison des uns et des autres. 

4
Baqer Naqvi

J'ai eu le même problème, et j'ai supprimé tous les noms de fichiers d'image ont "-" caractère. Mon problème résolu

2

Simplement cela a fonctionné.

  1. Dans un cas, j'ai copié et collé des "ressources packagées" antérieures Dans le dossier bin. 
  2. Autre, j'ai ouvert le studio visuel en tant qu'administrateur
  3. Next a modifié la "cible minimale sur Android" pour réduire Apis dans les fenêtres de propriétés du projet.
  4. Je suggère de ne pas toucher le code derrière la conception. Si vous obtenez cette erreur, tirez simplement un bouton de la barre d’outils dans le studio de conception et Visual Studio se rendra compte qu’il ya des changements dans l’UI. Cliquez ensuite sur Enregistrer tout pour que les modifications nécessaires soient apportées au fichier du concepteur. 
1
tksdotnet1

Une autre raison de cette erreur est que vous pouvez avoir un numéro float comme numéro version. Dans mon cas, je l'ai changé en un entier et tout a bien fonctionné. (J'ai trouvé l'erreur en commutant la sortie build sur Detailed)

1
Hansi Reit

C’est parce que le code de version que j’ai défini Code par '1.0', Le fichier "obj\Debug\Android\bin\packaged_resources" n’existe pas. ; Et je l'ai réglé par '1', tout va bien.

0
Zengli Gong

Après avoir suivi plusieurs suggestions en ligne (mise à jour du SDK, mise à jour de Xamarin, etc.), aucune d’entre elles n’a fonctionné pour moi.

Enfin découvert que j’avais une activité pour un fournisseur Android de réveil dans mon AndroidManifest fichier comme ci-dessous

 <activity 
     Android:name="com.njcommuter.droid/Android.provider.AlarmClock" 
     Android:label="AlarmClock"
     .....
     />

La suppression de cette ligne - et reconstruction a bien fonctionné sans erreur et a pu déployer la solution avec succès.

Remarque: tester ceci en remettant la ligne, et je reçois à nouveau la même erreur lors de la reconstruction . Il peut être lié à l’utilisation de n’importe quel fournisseur Android qui crée le package, pas nécessairement uniquement AlarmClock.

0
user8176498

Pour moi, c’était Target Version Android. Je l’avais réglé sur

 Compile Version

mais le changer en version de compilation (pour moi, c'était la dernière plate-forme) résolut le problème.

 enter image description here

0
Annu

Une autre raison de cette erreur, si le NDK Android (et non le SDK Android) n’est pas correct, le changement de version peut résoudre le problème: aller dans Outils/Options/Xamarin/Configurateur Android et modifier le dossier, dans mon cas, j’ai trois, le dernier ne peut pas compiler, mais le deuxième dossier avec la version xx.r11c le fait.

enter image description here

enter image description here

0
pabacu

La mienne était une solution différente (et seulement une demi-journée perdue): j’avais du mal à faire en sorte que l’application Hockey corresponde à un plantage contre la version correcte de l’application. identique au nom. Pour une raison encore inconnue, l'application créée et déployée sur les appareils pendant environ 3 jours avant que je ne commence à obtenir cette erreur The file "obj\Debug\Android\bin\packaged_resources" does not exist. Le réglage du paramètre sur une valeur numérique a résolu le problème.

J'ai trouvé le problème en regardant en arrière dans mes journaux GIT et en reconstruisant chaque Push jusqu'à ce que j'ai trouvé celui qui a causé le problème.

0
audioppy

Si j'avais eu la même erreur, j'ai réussi à lancer le gestionnaire de SDK Android et à installer toutes les mises à jour et à supprimer les packages obsolètes. Cela m'est arrivé parce que je visais quelque chose de plus récent qui n'était pas installé.

 enter image description here

0
Ricky G

Vérifiez s'il existe des entrées inutilisées dans resources.designer.cs s'il y en a des supprimer manuellement. Cela résoudra le problème.

0
Ameya Sawant

Cette erreur est en quelque sorte un wrapper pour plusieurs raisons pouvant expliquer le fait que le fichier n'a pas été créé. L'essentiel est de rechercher dans la sortie détaillée et de rechercher l'erreur sous-jacente à l'origine de l'échec de la création du fichier.

Dans mon cas, j'avais des fichiers icon.png corrompus (générés directement à partir du modèle VS xamarin nunit, rien de moins!). Une fois que j'ai mis dans des fichiers png valides, tout a été construit correctement.

0
Jahmic