2010-12-15 101 views
5

J'ai un événement de post-construction mis en place dans Visual Studio 2010. Le problème que je rencontre est que l'événement ne s'exécute pas lorsque j'utilise Exécuter (F5) pour débuter le débogage - il ne semble fonctionner que si explicitement (F6).Evénement post-construction à l'exécution (F5) Dans Visual Studio?

Cela semble se produire même lorsque les fichiers source ont changé (il doit donc être construit pour fonctionner).

Y a-t-il un paramètre qui contrôle ce comportement?

Répondre

9

Les post-constructions ne sont exécutées qu'après la construction. Ainsi, lorsque vos artefacts de construction sont à jour, ils ne seront pas compilés et les post-builds ne fonctionneront pas.

Si elle même ne fonctionne pas quand il doit construire, vérifiez les points suivants:

En regard Visual Studio à Outils -> Options -> Projets et Solutions -> Construire une course.

L'option "Créer uniquement des projets de démarrage et des dépendances sur Exécuter" est-elle cochée?

Essayez de décocher cette option.

Quelle est la valeur de l'option "En cours d'exécution, lorsque les projets sont obsolètes"? Il devrait être "Demander de construire" ou "Toujours construire" pour être sûr de déclencher une construction en appuyant sur F5.

+0

Le réglage "Toujours construire" ne déclenchera pas l'événement post-construction après avoir appuyé sur F5. Cela n'arrivera que comme le dit clairement l'étiquette de l'option «quand les projets sont périmés». –

+0

Oui, vous avez raison, mais je voulais juste être sûr que ce n'est pas sur "Ne jamais construire" – Jan

+0

Hmm, les paramètres sont déjà que vous avez noté. D'après votre réponse, il semble que vous disiez que le post-build DEVRAIT se déclencher quand j'appuie sur F5 (en supposant que le projet doit être construit)? –

1

Il ne fonctionne qu'après une génération réussie. C'est pourquoi cela s'appelle un événement Build. Peut-être que ce que vous essayez d'accomplir peut être fait d'une manière différente. Pourriez-vous s'il vous plaît donner plus de détails? Qu'essayez-vous de faire? Que voulez-vous exécuter avant chaque session de débogage, et pourquoi?

0

Vérifiez si la commande est correcte. Un exemple simple serait:

copy "$(SolutionDir)$(ProjectName)\test.txt" ".\test.txt" 
+0

Encore plus simple: 'calc'. L'événement de construction du demandeur est bien car, comme il l'a mentionné, il fonctionne quand il construit. –