Post-construction de l'Événement terminé avec le Code 1
Je suis en train de nettoyer le dossier de lancement à l'aide de Post-construction de l'événement j'ai donc supprimer .xml
et .pdb
fichiers et essayez de copier tous les fichiers dll dans des dossier lib bug je obtenir Post Build Exited with Code 1
Mon code:
if $(ConfigurationName) == Release del "$(TargetDir)*.xml", "$(TargetDir)*.pdb"
if $(ConfigurationName) == Release xcopy "$(TargetDir)\*.dll" "$(TargetDir)\lib\"
Les 2 commandes sont séparées par une nouvelle ligne comme indiqué...
Aussi dossier Lib existe.
- Selon la documentation, un code de retour de
1
signifie "Aucun fichier n'a été trouvé pour le copier.". - En outre, puisque vous écrivez les noms de fichiers en ligne sur des guillemets, je suggère aussi de faire de même dans la ligne deux. E. g.
xcopy "$(TargetDir)*.dll" "$(TargetDir)lib\"
. - ni travail, idk pourquoi
- aussi les fichiers dll sont dans le même dossier que l'exe, je veux juste les déplacer ensuite vers un dossier personnalisé...
- Une bonne façon de débogage post construire des événements est de copier les commandes à partir de la fenêtre de sortie (avec les macros élargi) et de l'essayer dans votre console.
- visual studio semble ne pas séparer les commandes...
Vous devez vous connecter pour publier un commentaire.
Au lieu de
vous devez utiliser
pour gérer les espaces dans le chemin.
Tentez d'ouvrir le VS avec Exécuter en tant qu'Administrateur -> ouvrir un projet -> build.
Tout d'abord, essayez d'utiliser
$(TargetDir)\
, car il y a des variables qui renvoient sans un slash de fin, qui serait concaténer votre chemin si vous êtes à la recherche pourbin\Debuglib\
au lieu debin\Debug\lib
Comme l'a souligné @Uwe Keim, Code de retour 1 signifie aucun fichier trouvé pour copier. Cela peut aussi arriver si vous êtes fait à un dossier non valide, d'un approfondissement de l'idée que vous pourriez avoir besoin que
\
.Il y a aussi la possibilité que la
del
commande a échoué, mais l'article technet sur del n'indique pas tous les codes de retour. Certains forum des sources d'indiquer un code de retour de 1 peut indiquer un échec de la suppression.Cette modification a fonctionné pour moi:
1). Omettre répertoire cible de la variable dans la commande del
2). option /y dans xcopy
Remarque à partir de Microsoft page d'Aide: /y : Supprime la demande de confirmation que vous voulez remplacer un fichier de destination existant.
Cette solution a fonctionné pour moi
Si vous utiliser un chemin relatif dans la commande Copier puis assurez-vous que le répertoire parent désigne répertoire approprié vous avez l'intention pour sinon vous obtiendrez le code de sortie 1 erreur.
Ex:
Ici, Project1 et MainProject coexistent au SolnFolder. Quand j'ai pensé à la copie xyz.dll en MainProject du dossier x86, il a échoué parce que ..\ utilisé dans la commande de copie de fait référence de presse dossier de chemin de la source au lieu de SolnFolder. Donc, ci-dessous résolu le problème:
REMARQUE: en outre, assurez-vous que les guillemets sont utilisés avec chaque chemin d'accès relatif