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.

Était-ce utile?

La 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

Autres conseils

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" />
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top