部署时无法找到MSBuild目标PipelinePreDeployCopyAllFilesToOneFolder

时间:2010-05-31 10:16:12

标签: visual-studio-2010 msbuild pipeline

从VS2010 RTM部署Web应用程序项目会导致MSBuild出错。它抱怨无法找到PipelinePreDeployCopyAllFilesToOneFolder目标。

有没有办法进一步诊断?

谢谢。

4 个答案:

答案 0 :(得分:11)

我遇到了同样的问题,当我查看.csproj文件中的Web应用程序时,我有以下几行...

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" Condition="'$(Solutions.VSVersion)' == '8.0'" />
<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v9.0\WebApplications\Microsoft.WebApplication.targets" Condition="'$(Solutions.VSVersion)' == '9.0'" />

我想这是因为我最近从VS2008升级到VS2010。所以它看起来像在转换过程中它被搞砸了。为了解决这个问题,我刚用...替换了那些行

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />

之后一切正常。

答案 1 :(得分:6)

我已经看到了brodie在网上几个地方给出的答案,这对我来说很奇怪,因为这个任务( PipelinePreDeployCopyAllFilesToOneFolde r)甚至不包含在这个目标中(Microsoft.WebApplication。目标):

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />

如果你真的去找这个文件(在x64机器上,它在 C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v10.0 \ WebApplications \ Microsoft中.WebApplication.targets ,或等效的12.0版本(如果你使用的是VS2013)并在文本查看器中打开它,你会发现它不在那里..

它实际上包含在Sayed Ibrahim Hashimi提到的文件中,这是Microsoft.Web.Publishing.targets文件( C:\ Program Files(x86)\ MSBuild \ Microsoft \的VisualStudio \ V10.0 \网络\ Microsoft.Web.Publishing.targets )。

因此,要将其添加到MSBuild / .csproj文件中,请包含以下内容:

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.targets" />

答案 2 :(得分:1)

您是否在要尝试构建的计算机上安装了Visual Studio 2010?如果是这样,那么找一个位于%Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v10.0 \ Web \ Microsoft.Web.Publishing.targets 的文件,它应该具有该目标。如果没有,则那些文件可能已损坏,并且可能正在修复VS 2010安装应修复它。

我认为Web部署目标/任务是随VS本身而非.NET框架提供的,因此您需要安装VS(或者您可以手动配置机器)/

答案 3 :(得分:0)

即使这是一篇旧帖子,它仍然提供了一些很好的帮助!

我的设置是使用远程主机来自动化VS2013中内置的项目。 单独安装MSBuild 12.0时,远程主机不包含所有VS2013目标,这导致“Microsoft.Web.Publishing.targets”文件不存在。

要解决此目标错误,我必须从本地VS2013路径复制文件并将其复制到等效位置的远程主机。