322 votes

Que signifie le message "Exited with code 9009" pendant cette construction ?

Que signifie ce message d'erreur ? Que puis-je faire pour corriger ce problème ?

AssemblyInfo.cs s'est arrêté avec le code 9009


Le problème se produit probablement dans le cadre d'une étape post-construction d'une solution .NET dans Visual Studio.

8 votes

Le PO ne revient pas pour régler ce problème, mais il a beaucoup de réponses et beaucoup de jus de Google. Alors, essayons de déduire le problème ?

15 votes

La fenêtre de sortie m'a donné un aperçu du problème que je rencontrais également.

248voto

thehhv Points 1412

Avez-vous essayé de donner le chemin complet de la commande qui s'exécute dans la commande d'événement pré- ou post-construction ?

Je recevais une erreur 9009 due à une commande d'événement post-build xcopy (Visual Studio 2008). La commande "xcopy.exe /Y C:\projectpath\project.config C:\compilepath\ "est sorti avec le code 9009.

Mais dans mon cas, c'était aussi intermittent. C'est-à-dire que le message d'erreur persiste jusqu'au redémarrage de l'ordinateur. Il disparaît après un redémarrage de l'ordinateur. Il revient après un problème lié à distance que je n'ai pas encore découvert.

Cependant, dans mon cas, fournir la commande avec son chemin complet a résolu le problème :
c : \windows\system32\xcopy.exe /Y C:\projectpath\project.config C:\compilepath\
au lieu de simplement xcopy.exe /Y C:\projectpath\project.config C:\compilepath\

Si je n'ai pas le chemin complet, il fonctionne pendant un moment après un redémarrage, puis s'arrête...

Comme mentionné également dans les commentaires de cet article, s'il y a des espaces en chemin complet, alors il faut des guillemets autour de la commande . Par exemple, " C:\The dossier avec espaces \ABCDEF\xcopy.exe " /Y C:\projectpath\project.config C:\compilepath\
Notez que cet exemple concernant les espaces n'est pas testé.

47 votes

J'ai également reçu l'erreur 9009 sur les événements post et pré-construction. La vérification de l'onglet Output dans Visual Studio montre le problème. Dans mon cas, j'ai essayé d'accéder à un chemin contenant un espace.

16 votes

J'ai eu un problème similaire à celui-ci, mais il était dû à des espaces dans les noms de dossiers. En mettant les chemins entre guillemets ( "$(SolutionDir)packages\NUnit.2.5.10.11092\tools\"nunit-con‌​sole "$(TargetPath)" ) l'a résolu.

1 votes

J'ai rencontré un problème similaire avec un événement de pré-construction qui utilisait une applet Java pour précompiler JS et CSS... il s'est avéré que nous avions négligé de mettre le Runtime Java sur le serveur.

130voto

Chris Moschini Points 7278

Le code d'erreur 9009 signifie que le fichier d'erreur n'a pas été trouvé. Toutes les raisons sous-jacentes affichées dans les réponses ici sont une bonne inspiration pour comprendre pourquoi, mais l'erreur elle-même signifie simplement un mauvais chemin.

1 votes

Mon problème avec le fichier non trouvé était la référence dans le fichier csproj était $(PROGRAMFILES) \Microsoft SDKs \TypeScript\tsc et devait être $(PROGRAMFILES) \Microsoft SDKs \TypeScript\1.0\tsc

0 votes

Merci d'avoir répondu à la première question.

0 votes

Et cela signifie qu'il ne trouve aucun fichier que la commande tentée pourrait impliquer, donc même quand il n'a pas pu trouver la commande elle-même. J'utilisais delete au lieu de del. Cela vous aurait donné un 9009 aussi.

87voto

HRKoder Points 431

Cela se produit lorsqu'il vous manque certains paramètres d'environnement pour utiliser les outils Microsoft Visual Studio 2010 x86.
Par conséquent, essayez de l'ajouter comme première commande dans vos étapes post-construction :

call "$(DevEnvDir)..\Tools\vsvars32.bat"

Il doit être placé avant toute autre commande.
Il définira l'environnement pour l'utilisation des outils Microsoft Visual Studio 2010 x86.

3 votes

Pouvez-vous m'aider - où et dans quel fichier dois-je ajouter la ligne call "$(DevEnvDir)..\Tools\vsvars32.bat" ? Merci

2 votes

J'ai dû ajouter une entrée à mon Path variable d'environnement. Consultez la fenêtre de sortie pour plus d'informations.

0 votes

Attention. Ceci échouera sur de nombreux serveurs de construction : blogs.clariusconsulting.net/kzu/devenvdir-considered-harmful

57voto

NileshChauhan Points 3126

Il est fort probable que vous ayez de l'espace dans votre trajectoire résultante.

9 votes

+1 - C'est exactement le problème que je rencontrais. Une commande dans mon post-build a fonctionné quand j'ai construit le projet localement, mais a échoué quand il a été construit sur le serveur de build. J'ai juste placé la commande entre des guillemets doubles pour le résoudre. Merci.

0 votes

Donc, est-il raisonnable de spéculer que l'erreur 9009 est "fichier non trouvé" ? Personnellement, je pense que la question "qu'est-ce que l'erreur 9009 de MSBuild ?" devrait être parfaitement bien en tant que question autonome, mais adressée à Microsoft !

11voto

J'ai eu la même variable après avoir changé la variable PATH des Variables d'environnement dans Win 7. Le retour à la valeur par défaut a aidé.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X