找不到MSBuild目标包

找不到MSBuild目标包,msbuild,package,web-deployment,msdeploy,Msbuild,Package,Web Deployment,Msdeploy,我想打包我的VS2010 web应用程序项目,以便使用msdeploy部署。在开发机器上,我可以使用: MSBuild.exe "C:\path\to\WebApp.csproj" /target:package 但在我的构建服务器上,我遇到以下错误: 错误MSB4057:项目中不存在目标“包” 生成服务器上缺少什么?您需要在生成服务器上安装.Net 4.0。.Net 4.0安装将放置支持打包web应用程序项目的新MSBuild 4.0 此外,在运行msbuild.exe时,请确保运行的是.N

我想打包我的VS2010 web应用程序项目,以便使用msdeploy部署。在开发机器上,我可以使用:

MSBuild.exe "C:\path\to\WebApp.csproj" /target:package
但在我的构建服务器上,我遇到以下错误:

错误MSB4057:项目中不存在目标“包”


生成服务器上缺少什么?

您需要在生成服务器上安装.Net 4.0。.Net 4.0安装将放置支持打包web应用程序项目的新MSBuild 4.0


此外,在运行msbuild.exe时,请确保运行的是.Net 4.0 framework文件夹中的文件

要解决此问题,请在生成服务器上安装Visual Studio 2010,并确保安装了
Visual Web Developer
功能。

我只是通过在生成服务器上执行以下步骤,在不安装VS2010的情况下实现了此功能:

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio
    \v11.0\Web\Microsoft.Web.Publishing.targets
  • 如果未安装.NET Framework 4,请安装它
  • 从安装Web部署工具
  • 从开发人员计算机上的C:\Program Files\MSBuild\Microsoft\VisualStudio\v10.0文件夹中,将“Web”和“Web应用程序”文件夹复制到生成服务器上的等效目录中

  • 这似乎对我有用

    我知道这是一个老问题,但我最近遇到了同样的问题,没有一个答案有用。我的生成服务器上缺少以下文件:

    C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio
        \v11.0\Web\Microsoft.Web.Publishing.targets
    
    它是通过以下方式进口的:

    C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio
        \v11.0\WebApplications\Microsoft.WebApplication.targets
    

    希望这有助于像我这样的人:

    也可以考虑使用MSBuffE版本,与Web部署工具版本相对应。


    我遇到了与OP相同的问题。解决方案是在buildServer上将msbuild从4.5更改为4.0

    我也遇到了同样的问题。通过添加以下内容结束解析:

    <PropertyGroup>
    <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
    <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
    </PropertyGroup>
    
    <Import Project="$(MSBuildToolsPath)\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" />
    
    
    10
    $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)
    

    到my.csproj fiie.

    您可以安装该软件包。无需手动将目标复制到生成服务器。

    还要确保使用.net 4版本的MSBuild.exe!(在%windows%\Microsoft.net\Framework\v4.0.30319中)在我的情况下,问题是我复制了“Web应用程序”文件夹中的ACC,而不是“Web”文件夹中的ACC。+1注意,
    C:\Program Files
    位将是
    C:\Program Files(x86)
    如果您在64位机器上运行32位MSBuild[如我的情况](在我的例子中,
    Web
    部分是缺少的成分-我假设
    Microsoft.WebApplications.targets
    和/或正在默默忽略缺少
    Microsoft.Web.Publishing
    *
    .targets
    )谢谢!对我来说,缺少的关键文件夹是我拥有的C:\Program Files\MSBuild\Microsoft\VisualStudio\v10.0\Web“WebApplications”已经存在,但不是“Web”文件夹。它通过两个更正修复了我的问题:1.程序文件(x86)2。“MSBuild\Microsoft\VisualStudio”有3个子目录:v10.0、v11.0、v12.0。我使用的是VS 2013(v12.0)。但是,该问题只有在我将Web文件夹从V10.0复制到v11.0后才得以解决。值得一提的是,该问题是在卸载程序VS 2012之后开始的。无需在生成服务器上安装Visual Studio。生成/部署过程仅依赖于少数文件(请参阅spmason的帖子)为我工作…我复制了webapplications目标文件夹,但没有复制web文件夹…构建会成功,但不会部署这是Visual Studio build Tools 2017的问题。我没有选择“web开发构建工具”“工作负载,因此未安装web发布目标。请修改安装以包括已修复的目标。我喜欢这样做,因为它实际上将其添加到项目中,并将自动引用正确的版本,而不是尝试手动更改csproj文件。您救了我一天!:)