尝试使用TeamCity和Web Deploy部署我的网站时出现此错误:
error MSB4057: The target "MsDeployPublish" does not exist in the project.
我是否需要在构建服务器上安装一些东西?这是一个安装了Web Deploy 3.5的干净的Windows Server 2012。
答案 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" />