【问题标题】:MSBuild target PipelinePreDeployCopyAllFilesToOneFolder cannot be found when deploying部署时找不到 MSBuild 目标 PipelinePreDeployCopyAllFilesToOneFolder
【发布时间】:2010-05-31 10:16:11
【问题描述】:

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

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

谢谢。

【问题讨论】:

    标签: visual-studio-2010 msbuild pipeline


    【解决方案1】:

    我遇到了同样的问题,当我查看我的 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" />
    

    之后一切正常。

    【讨论】:

    • 谢谢。对我来说,关键是删除条件。
    【解决方案2】:

    我在网上的几个地方看到过brodie给出的答案,这对我来说很奇怪,因为这个任务(PipelinePreDeployCopyAllFilesToOneFolder)甚至不包含在这个目标(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 ,或者如果您使用的是 VS2013,则为 12.0 版)并在文本查看器中打开它,您会看到它不存在..

    它实际上包含在 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" />
    

    【讨论】:

    • 好电话,我发现上述接受的答案也很奇怪。你是对的。
    【解决方案3】:

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

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

    【讨论】:

    • 重新安装我的电脑。 vs2010 安装到清理电脑,仍然显示同样的错误。
    【解决方案4】:

    虽然这是一篇旧帖,但它仍然提供了一些很大的帮助!

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

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

    【讨论】:

    • 是的,因为这是与本地安装 VS 不同的设置。
    • 在未安装 Visual Studio 的情况下使用 MS build 时出现此错误,并且缺少 %Program Files(x86)\MSBuild\Microsoft\VisualStudio\v12.0\ 中的“Web”文件夹正如 Sayed 所示,所需的 TARGET 文件位于“Web”文件夹内,因此我的解决方案是从完整的 VS2103 安装中获取“Web”文件夹,然后复制该文件夹。希望这以某种形式有所帮助:)
    • 你可以编辑你的答案并添加额外的细节,这会比你的评论更明显:-)
    猜你喜欢
    • 2022-08-11
    • 2020-04-14
    • 1970-01-01
    • 2011-02-06
    • 2015-08-13
    • 2013-04-02
    • 2018-11-15
    • 2019-10-18
    • 1970-01-01
    相关资源
    最近更新 更多