web-dev-qa-db-fra.com

L'emballage Xap a échoué. La référence d'objet n'est pas définie à une instance d'un objet

Je reçois ce message d'erreur sur mon PC lorsque j'essaie de créer mon application Windows Phone:

Xap packaging failed. Object reference not set to an instance of an object

J'utilise Dropbox. Sur mon ordinateur portable, cela fonctionne parfaitement bien et je peux déboguer etc ... Sur mon PC cependant, je ne peux pas.

J'ai essayé beaucoup de choses comme:

  • Supprimer obj/Debug Dossier
  • Recherchez les fichiers manquants sur Explorateur de solutions

Jusqu'à présent, rien n'a aidé.

Une idée de comment résoudre ce problème?

41
Subby

Vous devez vérifier, dans chaque dossier de votre projet, les fichiers manquants ou les mauvaises références.

Vous pouvez obtenir ce problème uniquement avec une seule image manquante, si sa propriété Build Action est définie sur Content ou similaire ...

enter image description here

Vérifiez vos fichiers puis Reconstruire votre projet!

75
MAXE

Cela peut se produire si un fichier est supprimé du disque lui-même, mais pas de la solution via Visual Studio. Supprimez le fichier via Visual Studio (il doit être marqué d'une petite icône de danger jaune) et reconstruisez.

Nous remercions Andreas Hammar via http://blog.jayway.com/2011/06/03/wp7-build-error-xap-packaging-failed/ - sa solution a fonctionné pour moi.

22
Ryan Shripat

J'ajoute cette réponse parce que bien que le problème avec les icônes d'application soit couvert en bref dans certaines des réponses ci-dessus, je voulais donner des étapes exactes car cela m'est arrivé. J'ai eu cette erreur et j'ai trouvé cette page Web:

Erreur d'emballage Xap

Il s'est avéré que le nom de fichier de l'icône de mon application était incorrect en raison d'un changement de nom. J'ai double-cliqué sur WMAppManifest.xml , trouvé dans le dossier Propriétés , pour ouvrir l'éditeur de ce fichier. J'ai simplement utilisé le bouton pour mettre à jour l'icône de l'application, j'ai retrouvé le fichier et je l'ai sélectionné, et l'erreur a disparu après la reconstruction du projet.

6
Robert Oschler

Le problème réside dans votre objet de démarrage dans votre application. J'ai rencontré cette erreur à plusieurs reprises.

Cela se produit généralement lorsque je change le nom de ma classe d'application de classe/espace de noms. Ou cela pourrait même être en conflit avec vos emplacements de boîte de dépôt.

Pour résoudre ce problème.

  1. Faites un clic droit sur votre projet principal ou Alt + Entrée
  2. Accédez à l'onglet Silverlight et définissez votre objet de démarrage
5
Rik van den Berg

Si quelqu'un tombe sur ce message et a toujours le problème que j'ai eu où l'empaquetage XAP a échoué et que VS2012 ne peut pas trouver le fichier, vérifiez les espaces dans le nom du fichier.

J'ai eu le problème où mes tuiles étaient "tilename 99.png" et il continuait de me donner le message d'échec de l'empaquetage XAP. J'ai donc finalement changé le nom du fichier en "tilename_99.png" et cela a fonctionné.

J'espère que cela aide quelqu'un dans la même situation.

2
timv

Essayez ce qui suit:

  • Faire fermer Visual Studio
  • Téléchargez tous vos fichiers sur votre ordinateur
  • Supprimez complètement les dossiers Bin et obj.
  • Ouvrez le .sln
  • Reconstruire

En cas d'échec, développez les références dans l'Explorateur de solutions et assurez-vous que toutes vos DLL sont trouvées. Si une DLL a un point d'exclamation jaune, cela signifie qu'elle n'est pas trouvée. Je pense que l'une de vos références est définie sur un chemin absolu sur votre ordinateur portable et qu'il manque sur votre PC.

2
MyKuLLSKI

Dans mon cas, j'avais accidentellement déplacé Background.png vers un dossier de ressources. Je l'ai déplacé et cela a fonctionné!

1
Sriram

Ahh a finalement trouvé mon problème.

J'utilise Visual Studio 2012, qui ne signale pas toujours le fichier "manquant" et le rend un peu plus difficile à corriger.

MA SOLUTION COURTE

Reliez à nouveau le fichier de configuration "lié" dans le projet principal. Il s'agit d'un fichier lié car le fichier d'origine reste dans un assembly référencé, pas dans l'assembly actuel. Le fichier n'était pas marqué JAUNE donc il n'était pas évident que ce serait le problème, mais quand j'ai double-cliqué dessus, il ne s'est pas ouvert, donc je savais que c'était le fichier problème.

L'application Silverlight elle-même avait un fichier "lié" appelé "ServiceReferences.ClientConfig" qui contient les informations nécessaires à un projet référencé pour effectuer un appel de service Web.

Le projet principal n'avait donc pas lui-même la référence du service Web, mais il faisait référence à un projet qui en avait, c'est pourquoi il a lié le fichier "ServiceReferences.ClientConfig".

MA LONGUE SOLUTION

Continuez à reconstruire le fichier de projet principal, à commenter et à exclure projet par projet, fichier par fichier, jusqu'à ce que vous puissiez reconstruire le projet principal. À ce stade, il devrait être clair (euh) quelle partie de la solution est à l'origine du problème.

0
Martin Lottering

Dans mon cas, cette erreur n'a pas disparu même après avoir essayé toutes les méthodes ci-dessus. En fait, j'avais renommé ApplicationIcon.png en "xyz.png". Et en inversant cela, le problème a été résolu.

0
Rajat

J'ai eu ce message d'erreur, après une certaine frustration que je regarde dans le dossier obj, cela ne faisait pas partie de la solution (mais Visual Studio en a besoin) mais j'ai eu des fichiers de conflits avec Dropbox. J'ai supprimé la reconstruction du dossier obj, visual studio recrée le dossier et son contenu et le problème est résolu.

0
Juan

Une autre possibilité est que vous avez un mauvais chemin vers une image dans la boîte de dialogue projet/options/application (icône, image bg, etc.).

0
Gus Cavalcanti