从 VS2010 RTM 部署 Web 应用程序项目会导致 MSBuild 出现错误。它抱怨找不到 PipelinePreDeployCopyAllFilesToOneFolder 目标。
有什么方法可以进一步诊断吗?
谢谢你。
从 VS2010 RTM 部署 Web 应用程序项目会导致 MSBuild 出现错误。它抱怨找不到 PipelinePreDeployCopyAllFilesToOneFolder 目标。
有什么方法可以进一步诊断吗?
谢谢你。
我遇到了同样的问题,当我查看我的 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" />
之后,一切都按原样进行。
我已经在网上的几个地方看到了 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" />
您尝试构建的机器上是否安装了 Visual Studio 2010?如果是这样,则查找位于%Program Files(x86)\MSBuild\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.targets的文件,它应该具有该目标。如果没有,那么这些文件可能已损坏,并且可能正在修复您的 VS 2010 安装应该修复它。
我认为 Web 部署目标/任务是 VS 本身而不是 .NET 框架附带的,因此您需要安装 VS(或者您可以手动配置机器)/
即使这是一个旧帖子它仍然提供了一些很大的帮助!
我的设置是使用远程主机对 VS2013 中构建的项目进行自动化。当您单独安装 MSBuild 12.0 时,远程主机不包含所有 VS2013 目标,这导致“Microsoft.Web.Publishing.targets”文件不存在。
为了解决这个目标错误,我必须从本地 VS2013 路径复制文件并将其复制到等效位置的远程主机。