Post-Build-Event



  • Hallo zusammen,

    für Projekte gibt es z.B. unter Visual Studio 2010 ja das Post-Build-Event. Ich suche eine Möglichkeit ein Tool auszuführen nachdem alle Projekte einer Solution gebuildet wurden. Also wenn das letzte Projekt fertig gestellt wurde.

    Hat da schon mal jemand was mit gemacht? Kann sich irgendjemand einen Hack vorstellen?


  • Mod

    Erzeuge ein eigenes Projekt nur für diesen Fall, das leer ist und nur aus Deiner Aktion (evtl. ein oder mehrere Custombuild Steps) oder Deinen Abhängigkeiten besteht und das selbst von allen anderen Projekten abhängig ist...



  • Daran hatte ich auch schon gedacht, aber das leere Projekt wird nur einmal gebuildet. Wenn ich danach F7 drücke und die anderen Projekte durch sind wird das nicht mehr angefasst. Hab als Abhängigkeit des leeren Projekts alle anderen eingetragen.

    Wobei ich im leeren Projekt erstmal nur im Post-Build Event getestet hab, das Custom Build Event will nicht.


  • Mod

    Bau ein CustomBuild Event, das einen "Input" hat, und einen "Output".

    Der Input sind eigentlich nur Deine EXE/DLL Dateien und als Output machst Du ein touch in eine Dummy-Datei.

    Ist also eine der Module älter als die Dummy-Datei läuft der Build-Step...
    So mache ich das.



  • Ah super, so funktioniert es, Vielen Dank!

    Hab gerade noch eine Lösung als Makro gefunden:

    Public Sub AfterBuild(ByVal scope As vsBuildScope, ByVal action As vsBuildAction) Handles BuildEvents.OnBuildDone
      If scope = vsBuildScope.vsBuildScopeSolution Then
        System.Windows.Forms.MessageBox.Show("solution build finished")
      End If
    End Sub
    

    Der Code im EnvironmentEvents-Module im Makroeditor eingefügt tuts auch. Hat den Nachteil das es nicht Projekt-Spezifisch ist und auf jedem Entwicklungsrechner eingerichtet werden muss. Dafür hat man kein "unschönes" leeres project im Solution Explorer. Aber man kann nich alles haben 😉



  • Wenn es nur um Benachrichtigungen geht, dann guck dir Growl-for-Windows an. Da gibt's ein Visual Studio Plugin, und man kann an diverse Teile weiterleiten lassen (z.B. Growl Instanzen auf anderen Rechnern, Email, iPhone etc.).



  • Hört sich interessant an, in meinem Fall ist es aber nicht nur eine Benachrichtigung. Hatte es in dem Beispiel nur zur Verdeutlichung drin gelassen 🙂


Anmelden zum Antworten