Post-build event command for publish (Visual Studio 2010)

11,215

I recently faced a similar problem. I wanted to run a command 'only' if I published the application and not with every build.

I added a post publish task. Since I don't use MSBuild directly I modified my solution csproj file.

Example:

Solution Name: MyKillerApp

Project File name: MyKillerApp.csproj

Open the file with Notepad++ or other text editor and navigate to the end of the file and find this section(should be almost at the end):

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

Then add your postpublish task

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

My task runs a bat file that runs Doxygen (a very nice docs creation program) and some other tasks.

You can create a bat file to run any commands is very handy

Share:
11,215
Waronius
Author by

Waronius

Updated on July 20, 2022

Comments

  • Waronius
    Waronius almost 2 years

    I have a project in visual studio 2010. This project has the following post-build event command lines:

    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)"
    

    But this commands are just used when I create a debug or a release. When I publish my project will this commands ignored. Gives it a possibility to use this commands when I publish the project?

    Thanks for any help.