Publish a website application using MSBuild

MSBuild is soooo nice when it comes to automating compilation, testing, deployment or some other tedious task.

Until now, I believed that publishing a website application was a manual task, performed from Visual Studio.

But it is actually possible to perform publishing from the command line. Take a look at this Build.xml file:

<?xml version="1.0" encoding="utf-8" ?>
<Project xmlns="" ToolsVersion="3.5">
  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
  <Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v9.0\WebApplications\Microsoft.WebApplication.targets" />
  <Import Project="$(LibDir)\msbuild\MSBuild.Community.Tasks.Targets"/>
  <Target Name="Publish">
    <RemoveDir Directories="$(OutputFolder)"
               ContinueOnError="true" />
    <MSBuild Projects="..\Core\"
             Targets="ResolveReferences; _CopyWebApplication"
             Properties="WebProjectOutputDir=$(OutputFolder); OutDir=$(WebProjectOutputDir)\" />


If you want to read more about using MSBuild, then take a look at this tutorial:

Are you interested in reading more about the publishing using MSBuild, then read here:

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>