2017-07-21 3 views
0

Je reçois l'erreur suivante lors de la tentative de création de la solution.MSBuild a quitté avec l'erreur de code 1

Error  The command " 

     copy "D:\Code\..\libs\xyz_ext.x64.dll" "D:\Code\bin\" 

     copy "D:\Code\..\libs\xyz.x86.dll" "D:\Code\bin\" 

     " exited with code 1. C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets 4714 
+1

Typiquement, je copie la commande qui a échoué dans une invite cmd et l'exécute manuellement pour déterminer pourquoi il échoue. Vous pouvez également envisager d'utiliser les variables d'environnement Visual Studio au lieu de coder en dur le chemin d'accès à l'assembly. –

+0

Le code d'erreur Windows standard 1 est une fonction non valide. Y a-t-il autre chose dans la sortie? – Alex

+1

est-ce la vraie commande (y compris \ .. \) de l'événement post-construction? – nozzleman

Répondre

0

MSBuild liquide' avec le code 1 erreur

Tout d'abord, tout comme nozzleman commentaire "Est-ce la commande réelle (y compris ..) de l'événement post construction" Si oui, cela est la raison pour laquelle vous avez cette erreur. Cela parce que les événements de construction suivent la même syntaxe que les commandes DOS, et que DOS n'a jamais pris en charge l'extension * générique et \..\ dans le chemin d'accès du shell. Vous devez donc spécifier le chemin d'accès complet dans la ligne de commande.

Par ailleurs, si vous voulez copier le fichier dans tous les sous-dossiers de Code, vous avez besoin d'une certaine façon à l'aide des outils de fenêtres existants (cmd.exe), ou avec caractères génériques powershell *, par exemple, Powershell:

Cette est le code dans le fichier .ps1:

Get-ChildItem "D:\Code\*\libs" -Recurse -Include xyz_ext.x64.dll | Copy-Item -Destination D:\Code\bin 

Ensuite, ce script execute PS par événement post construction:

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -file D:\Code\Test.ps1 

Si \..\ n'est ni la vraie commande de l'événement post-construction, juste une expression abrégée. Vous devriez vérifier le chemin de cette commande. Selon le journal des erreurs "code 1 error", il indique que cette commande est incorrecte. Et j'ai vérifié cette commande, la syntaxe de copie est correcte, donc le problème est que le chemin n'est pas incorrect, vous devriez le vérifier.