Visual Studio – Build Events

Być może zastanawiałeś się czy możesz nakazać Visual Studio, aby zrobiło coś przed zbudowaniem projektu. Czym jest to “coś”? Może to być choćby skopiowanie plików z pewnej lokalizacji po zmianie aktualnej konfiguracji projektu czy uruchomienie zewnętrznego programu. Okazuje się, że środowisko to, udostępnia odpowiednie narzędzie. Na dodatek możesz wykonać pewne działania, także po zbudowaniu projektu. A mowa tu o Pre-build events i Post-build events.

Spójrzmy na to!

Gdzie to znaleźć?

Należy otworzyć okno konfiguracji wybranego projektu:



Następnie znaleźć zakładkę Build Events:



Mamy dostępne dwa pola umożliwiające zdefiniowanie działań, które mają zostać podjęte przed lub po zbudowaniu projektu. Po naciśnięciu jednego z dwóch dostępnych przycisków, oprócz edytora dostępny jest przycisk, który wyświetla dostępne makra. Wśród nich możemy znaleźć te, które zwrócą nam aktualną lokalizację projektu, folderu wynikowego programu, nazwę projektu czy solucji. Jest w czym przebierać.

Przykład

Utwórzmy nowy folder w folderze projektu, nadajmy mu nazwę AnotherProgram. W nim utwórzmy nowy plik bat o nazwie program.bat z poniższą zawartością:

@echo off
set arg1=%1
echo Program z parametrem %arg1%

Jest to zwykły plik bat, który wyświetla w konsoli wiadomość wraz z parametrem wywołania. Teraz przejdźmy do Visual Studio. Poniżej znajduję się skrypt, który umożliwia uruchomienie naszego programu z parametrami zależnymi od aktualnie wybranej konfiguracji projektu.

if "$(ConfigurationName)" == "Debug" $(ProjectDir)AnotherProgram\program.bat parametrDebug
if "$(ConfigurationName)" == "Release" $(ProjectDir)AnotherProgram\program.bat parametrRelease

Wartość zwróconą przez makro ConfigurationName, porównujemy z dwoma dostępnymi w naszym projekcie konfiguracjami. Jeżeli dany warunek zostanie spełniony, zostaje wywołany program.bat z odpowiednim parametrem. Warto zwrócić uwagę na makro ProjectDir, które zwraca nam lokalizację aktualnego projektu.

Jak sprawdzić czy rzeczywiście wszystko działa? Okno Output nam w tym pomoże, ale zanim do niego sięgniemy musimy zmienić jedną opcję w ustawieniach Visual Studio, a mianowicie zwiększyć zakres komunikatów wypisywanych do tego okna.



Teraz w oknie Output możemy odszukać komunikat zwrócony przez nasz program.



Czy to się przydaje?

Nie jestem w stanie stwierdzić jak wielu programistów korzysta z możliwości oferowanych przez ten mechanizm. W moim przypadku korzystałem z niego, do uruchamiania zewnętrznego programu, którego zadaniem było przygotowanie zasobów aplikacji. Myślę, że narzędzie to może być pomocne w pewnych sytuacjach, choćby ta, którą przytoczyłem.

Mechanizm Build events umożliwia, także korzystanie z pętli, tworzeniem plików czy folderów, a także ich kopiowanie. Zachęcam do zapoznania się z informacjami zawartymi w MSDN.

Mam coś dla Ciebie

Zapisz się do mojego newslettera, a ja prześlę Ci zbiór kilkunastu praktycznych wskazówek dla programisty aplikacji mobilnych.

Menu