7 Stimmen

Visual Studio 2008 Post Build-Ereignis - nur bei Rebuild ausgeführt

In Visual Studio 2008 führen wir ein Post-Build-Ereignis aus, das NANT aufruft und im Gegenzug unsere Konfigurationsdateien erstellt.

z.B..

if $(SolutionDir) == . GOTO end
nant -buildfile:$(SolutionDir)default.build create..web.config

Gibt es eine Möglichkeit, dies nur unter ReBuild auszuführen?

3voto

Alex Peck Punkte 4505

Ich denke, Sie können dies tun, indem Sie Build-Ziele angeben, anstatt Build-Ereignisse zu verwenden. Versuchen Sie, ein AfterClean-Ziel zu erstellen, um Ihre generierten Konfigurationsdateien zu löschen, und ein BeforeBuild-Ziel, um sie zu erstellen. Stellen Sie sicher, dass Sie die Dateiabhängigkeit für das BeforeBuild-Ziel einrichten, damit msbuild weiß, dass es den Schritt nur ausführen soll, wenn die Datei nicht vorhanden ist.

Ich habe das noch nicht ausprobiert, aber ich glaube, msbuild führt das Ziel nur aus, wenn die Zieldateien nicht existieren. Wenn Sie neu erstellen, wird der Bereinigungsprozess aufgerufen und damit auch Ihr AfterClean-Ziel.

Sie können mehr über Build-Ziele lesen aquí . Der einzige wirkliche Nachteil bei der Verwendung von Build-Zielen anstelle von Ereignissen ist, dass sie nirgendwo in der VS-Benutzeroberfläche sichtbar sind - Sie finden sie nur, wenn Sie die Projektdatei untersuchen.

Möglicherweise gibt es eine direktere Lösung, die Ereignisse mit einbezieht - sehen Sie sich den Blog des msbuild-Teams an aquí .

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X