MsDeployPublish在哪里?

时间:2013-10-10 12:32:58

标签: teamcity webdeploy build-server

尝试使用TeamCity和Web Deploy部署我的网站时出现此错误:

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

我是否需要在构建服务器上安装一些东西?这是一个安装了Web Deploy 3.5的干净的Windows Server 2012。

3 个答案:

答案 0 :(得分:17)

或者您可以将此NuGet包与可移植版本的目标一起使用:https://www.nuget.org/packages/MSBuild.Microsoft.VisualStudio.Web.targets并修改您的csproj文件以包含它:

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

答案 1 :(得分:6)

我意识到这个问题现在已经很老了,但是:

MsDeployPublish随Web应用程序目标一起安装,作为Visual Studio的一部分。如果您只安装了Server + Web Deploy,则需要从开发人员安装中复制它们或安装Visual Studio。可以从%programfiles(x86)%\MSBuild\Microsoft\VisualStudio

复制目标

另外,在Visual Studio 2012发布后添加了一些功能,即与发布配置文件(.pubxml)相关的功能。这些可以通过安装Azure SDK添加到VS2010,并将安装到%programfiles(x86)%\MSBuild\Microsoft\VisualStudio\v10.5\Web

答案 2 :(得分:4)

这对我有用,我必须添加一行来导入Microsoft.WebApplication.targets 从一个好的VS2013项目中得到了这个。

<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" />