12

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

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

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

4

3 回答 3

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" />
于 2014-06-16T13:51:33.473 回答
6

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

MsDeployPublish作为 Visual Studio 的一部分与 Web 应用程序目标一起安装。如果您只安装了 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

于 2013-10-21T12:07:25.383 回答
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" />
于 2014-09-09T18:34:21.937 回答