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!