2013-02-26 12 views
9

Ho un progetto in Visual Studio 2010. Questo progetto ha i seguenti post-generazione di eventi righe di comando:comando eventi post-generazione per la pubblicazione (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)" 

ma questo i comandi sono solo utilizzati quando creo un debug o una versione. Quando pubblico il mio progetto, questo comando verrà ignorato. Gli dà la possibilità di usare questi comandi quando pubblico il progetto?

Grazie per qualsiasi aiuto.

+0

Forse https://stackoverflow.com/questions/3561689/afterpublish-target-not-working sarà utile – Spikolynn

+0

La soluzione di cui sopra non ha fatto funziona bene Ma questo ha fatto: https://stackoverflow.com/questions/19456112/afterpublish-script-doesnt-run-when-i-publish-a-web-app – Spikolynn

risposta

9

Recentemente ho affrontato un problema simile. Volevo eseguire un comando 'solo' se avessi pubblicato l'applicazione e non con ogni build.

Ho aggiunto un post pubblicato task. Poiché non utilizzo direttamente MSBuild ho modificato il file csproj della mia soluzione.

Esempio:

Soluzione Nome: MyKillerApp nome

file di progetto: MyKillerApp.csproj

Aprire il file con Notepad ++ o altro editor di testo e navigare alla fine del file e trova questa sezione (dovrebbe essere quasi alla fine):

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

Quindi aggiungere il vostro compito postpublish

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

Il mio compito viene eseguito un file bat che corre Doxygen (un bel programma di creazione di documenti) e alcune altre attività.

È possibile creare un file bat per eseguire qualsiasi comando è molto utile