My old build script wasn’t working after the migration to this new version and you will find in this post the different adaptation that I had to do.

Add missing ToolsVersion as following:

<Project DefaultTargets=Build
xmlns=http://schemas.microsoft.com/developer/msbuild/2003
ToolsVersion=3.5>

Replace

<Import Project=$(MSBuildExtensionsPath)\Microsoft\WebDeployment\v8.0\Microsoft.WebDeployment.targets/>

with

<Import Project=$(MSBuildExtensionsPath)\Microsoft\WebDeployment\v9.0\Microsoft.WebDeployment.targets/>

I also had to add the following to the beginning of my AfterBuild task:

<Target Name=AfterBuild>
<
CreateItem Include=$(TempBuildDir)**.>
<
Output ItemName=CompiledFiles TaskParameter=Include />
</
CreateItem>
<
Exec Command=if exist "$(WDTargetDir)" rd /s /q "$(WDTargetDir)" />
<
Exec Command=if not exist "$(WDTargetDir)" md "$(WDTargetDir)" />
<
Copy SourceFiles=@(CompiledFiles) DestinationFolder=$(WDTargetDir)%(CompiledFiles.SubFolder)%(CompiledFiles.RecursiveDir) />
<
Exec Command=if exist "$(TempBuildDir)" rd /s /q "$(TempBuildDir)" />

</Target>

Otherwise I ended up with TempBuildDir folder with a part of my solution. This is just a copy of what is defined in Microsoft.WebDeployment.targets.

Now everything works like before, I can:

  1. set Staging as my active solution configuration
  2. Run a compilation
  3. Zip the merged result of the build
  4. Start uploading using ssh to the target stage server

Nice!