2013-02-26 12 views
9

Mam projektu w visual studio 2010. Projekt ten ma następujące post-build zdarzeń linii poleceń:polecenia wydarzenie Post-build do publikowania (Visual Studio 2010)

SET TARGET_PROJECT=TestMain 
IF NOT EXIST "$(TargetDir)IceBox" (
    XCOPY /E /I /Y "$(SolutionDir)Externals\IceBox" "$(TargetDir)IceBox" 
) 
IF NOT EXIST "$(TargetDir)bzip2.dll" (
    COPY "$(SolutionDir)Externals\IceBox\bzip2.dll" "$(TargetDir)" 
) 
XCOPY /E /I /Y "$(SolutionDir)Externals\Infragistics" "$(TargetDir)" 

Ale to polecenia są tylko używane kiedy tworzę debugowanie lub wydanie. Kiedy opublikuję mój projekt, polecenie to zostanie zignorowane. Daje on możliwość korzystania z tego polecenia, kiedy opublikuje projekt?

Dzięki za pomoc.

+0

Może https://stackoverflow.com/questions/3561689/afterpublish-target-not-working będzie można wykorzystać – Spikolynn

+0

Rozwiązanie powyżej nie działa dobrze. Ale ten zrobił: https://stackoverflow.com/questions/19456112/afterpublish-script-doesnt-run-when-i-publish-a-web-app – Spikolynn

Odpowiedz

9

ja niedawno do czynienia z podobnym problemem. Chciałem uruchomić polecenie "tylko", jeśli opublikuję aplikację, a nie każdą kompilację.

Dodałem post opublikować task. Ponieważ nie używam MSBuild bezpośrednio zmodyfikowałem mój plik csproj rozwiązanie.

Przykład:

Rozwiązanie Nazwa: MyKillerApp pliku

Nazwa projektu: MyKillerApp.csproj

Otwórz plik z Notepad ++ lub innego edytora tekstu i nawigacja na koniec pliku i znajdź tę sekcję (powinna być prawie na końcu):

<PropertyGroup> 
    <PreBuildEvent> 
    </PreBuildEvent> 
    </PropertyGroup> 

Następnie dodać postpublish zadanie

<PropertyGroup> 
    <PreBuildEvent> 
    </PreBuildEvent> 
    </PropertyGroup> 
    <Target Name="AfterPublish"> 
    <Exec Command="..\..\Documentation\DoxyGenExe\createDocs.bat" /> 
    </Target> 

Moim zadaniem uruchamia plik bat, który działa Doxygen (bardzo ładny program do tworzenia docs) i kilka innych zadań.

Można utworzyć plik bat do uruchamiania poleceń jest bardzo poręczny

Powiązane problemy