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:
NUnit 3 Test Project (Android)
créé à l'aide de NUnit Templates for Visual StudioUnit 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:
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 :(
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.
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.
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.
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
Simplement cela a fonctionné.
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)
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.
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.
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.
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.
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.
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.