Question

When trying to deploy my site using TeamCity and Web Deploy I get this error:

error MSB4057: The target "MsDeployPublish" does not exist in the project.

Is there something I have to install on a build server? It's a clean Windows Server 2012 with Web Deploy 3.5 installed.

Was it helpful?

Solution 2

I realise this question is quite old at this point, but:

MsDeployPublish is installed with the Web Application targets as part of Visual Studio. If you have only installed Server + Web Deploy, you'll need to either copy them from your developer installation or install Visual Studio. The targets can be copied from %programfiles(x86)%\MSBuild\Microsoft\VisualStudio

As an aside, there are some features that were added after the release of Visual Studio 2012, namely those that relate to Publishing Profiles (.pubxml). Those can be added to VS2010 by installing the Azure SDK and will be installed to %programfiles(x86)%\MSBuild\Microsoft\VisualStudio\v10.5\Web

OTHER TIPS

Or you can use this NuGet package with portable version of the targets: https://www.nuget.org/packages/MSBuild.Microsoft.VisualStudio.Web.targets and modify your csproj file to include it like this:

<Import Project="..\packages\MSBuild.Microsoft.VisualStudio.Web.targets.12.0.1\tools\VSToolsPath\WebApplications\Microsoft.WebApplication.targets" />

This worked for me, i had to add the line to import Microsoft.WebApplication.targets Got that from a good VS2013 project.

<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
  <Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />
  <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" Condition="false" />
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top