J'ai un fichier de commandes en cours d'exécution dans une étape de génération personnalisée Visual Studio pour copier des fichiers dans un répertoire d'installation. Je veux qu'il sorte correctement quand la copie échoue. Les problèmes avec les options que j'ai sont:Comment renvoyer une erreur de .bat dans le projet Visual Studio (2008 SP1)?
exit 1
Cela fonctionne à l'intérieur de l'amende de séquence de construction, mais parfois je veux utiliser le fichier de commandes à partir de la ligne de commande ou à partir d'un autre lot, et dans ces cas, laexit
provoque également la sortie de l'appelant.exit /b 1
Cela fonctionne bien à partir de la ligne de commande ou d'un autre fichier batch, mais Visual Studio ne reconnaît pas que le code de retour était pas 0 (il rapporte le projet ayant « 0 erreur (s) ») .
je suis tombé sur un lien qui me fournit une solution: http://www.nabble.com/Re:-bjam-and-Windows-p17457249.html
Essentiellement, il dit que je dois faire écho à un message d'erreur avant de faire le exit /b
. Par exemple,
echo MyProj : error : could not copy files.
Est-ce que quelqu'un sait exactement ce format de message déclenche Visual Studio pour reconnaître une erreur?
J'ai essayé de peaufiner cela et un peu de travail et d'autres ne le font pas. Il semble qu'il doit correspondre à quelque chose comme
.*\: .*error.*\:
Est-ce documenté quelque part?
Merci.
Ceci est avec Visual Studio 2008 SP1 sur Windows XP Pro SP3 (dans le cas cmd.exe
a un comportement différent entre les versions de Windows).
@Owen, je ne connais pas la réponse, mais cela peut être utile si vous spécifiez la version de VS que vous utilisez. La réponse peut être différente selon la version exacte de VS. –
Bon point. C'est VS 2008. – Owen