11

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

有什么方法可以进一步诊断吗?

谢谢你。

4

4 回答 4

13

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

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

之后,一切都按原样进行。

于 2011-01-16T00:24:30.883 回答
7

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

<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\Web\Microsoft.Web.Publishing .targets)。

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

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.targets" />
于 2015-01-29T12:18:32.590 回答
1

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

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

于 2010-06-01T02:08:28.727 回答
0

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

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

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

于 2015-08-10T10:31:26.787 回答