2010-04-22 7 views

Odpowiedz

3

Myślę, że można to zrobić, określając cele kompilacji, a nie przy użyciu zdarzeń kompilacji. Spróbuj utworzyć obiekt docelowy AfterClean, aby usunąć wygenerowane pliki konfiguracyjne i cel BeforeBuild, aby je utworzyć. Upewnij się, że ustawiłeś zależność od pliku dla celu BeforeBuild, więc msbuild wie, że powinien uruchomić ten krok tylko, jeśli plik nie jest obecny.

Tak naprawdę nie próbowałem tego, ale uważam, że msbuild uruchomi cel tylko wtedy, gdy pliki docelowe nie istnieją. Po przebudowaniu, proces czyszczenia zostanie wywołany, a następnie twój cel AfterClean.

Możesz przeczytać więcej na temat celów kompilacji here. Jedynym prawdziwym minusem używania obiektów budowania zamiast zdarzeń jest to, że nie są one widoczne w interfejsie VS - znajdziesz je tylko wtedy, gdy sprawdzasz plik projektu.

Może istnieć bardziej bezpośrednie rozwiązanie obejmujące zdarzenia - spójrz na blog zespołu MSbuild here.

Powiązane problemy