2010-12-15 4 views
5

Ich habe ein Post-Build-Ereignis in Visual Studio 2010 eingerichtet. Das Problem ist, dass das Ereignis nicht ausgeführt wird, wenn ich Ausführen (F5) zum Debuggen starten - es scheint nur zu laufen, wenn ich explizit Build (F6)Post-Build-Ereignis beim Ausführen (F5) in Visual Studio?

Dies scheint zu passieren, auch wenn Quelldateien geändert haben (so muss es zu bauen, um zu starten).

Gibt es eine Einstellung, die dieses Verhalten steuert?

Antwort

9

Postbuilds werden nur nach dem Bau ausgeführt. Wenn Ihre Build-Artefakte auf dem neuesten Stand sind, wird es nicht erstellt und Postbuilds werden nicht ausgeführt.

Wenn es wird auch nicht ausgeführt, wenn es zu bauen hat, prüfen Sie folgendes:

In Visual Studio Blick auf Extras -> Optionen -> Projekte und Lösungen -> ein Run bauen.

Ist die Option "Startup-Projekte und Abhängigkeiten nur auf Run erstellen" aktiviert?

Versuchen Sie, diese Option zu deaktivieren.

Was ist der Wert der Option "On Run, wenn Projekte veraltet sind"? Es sollte "Prompt to build" oder "Always build" sein, um sicher zu sein, dass ein Build ausgelöst wird, wenn F5 gedrückt wird.

+0

Die Einstellung "Immer erstellen" bewirkt nicht, dass das Post-Build-Ereignis nach dem Drücken von F5 ausgelöst wird. Es wird nur passieren, wie das Etikett der Option deutlich sagt, "wenn Projekte veraltet sind". –

+0

Ja, Sie haben Recht, aber ich wollte nur sicher sein, dass es nicht auf "Nie bauen" – Jan

+0

Hmm, die Einstellungen sind bereits, wie Sie festgestellt haben. Aus Ihrer Antwort scheint es, dass Sie sagen, dass der Post-Build ausgelöst werden soll, wenn ich F5 drücke (vorausgesetzt, das Projekt muss gebaut werden)? –

1

Es läuft nur nach einem erfolgreichen Build. Deshalb nennt man es ein Post-Build Event.

Vielleicht kann das, was Sie erreichen möchten, auf eine andere Art und Weise durchgeführt werden. Könnten Sie bitte mehr Details geben? Was versuchst du zu machen? Was möchten Sie vor jeder Debugsitzung ausführen und warum?

0

Überprüfen Sie, ob der Befehl korrekt ist. Ein einfaches Beispiel wäre:

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

Noch einfacher: 'calc'. Das Build-Event des Fragestellers ist in Ordnung, da, wie er erwähnt hat, es läuft, wenn er baut. –

Verwandte Themen