找不到MSBuild目标包

时间:2010-04-09 12:39:21

标签: msbuild package web-deployment msdeploy

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

MSBuild.exe "C:\path\to\WebApp.csproj" /target:package

但在我的构建服务器上,我收到此错误:

  

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

构建服务器上缺少什么?

7 个答案:

答案 0 :(得分:108)

我只是通过在构建服务器上执行以下步骤来安装VS2010,这样才能正常工作:

  1. 如果未安装.NET Framework 4,请安装
  2. http://www.iis.net/download/webdeploy
  3. 安装Web部署工具
  4. 从开发计算机上的C:\ Program Files \ MSBuild \ Microsoft \ VisualStudio \ v10.0文件夹中,将“Web”和“Web应用程序”文件夹复制到构建服务器上的等效目录。
  5. 这似乎对我有用

答案 1 :(得分:9)

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

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

希望这可以帮助像我这样的人:)

答案 2 :(得分:4)

您可以安装MSBuild.Microsoft.VisualStudio.Web.targets包。无需手动复制目标以构建服务器。

答案 3 :(得分:2)

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

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

到我的.csproj fiie。

答案 4 :(得分:1)

您需要在构建服务器上安装.Net 4.0。 .Net 4.0安装将推出支持打包Web应用程序项目的新MSBuild 4.0。

此外,当您运行msbuild.exe时,请确保您正在运行位于.Net 4.0框架文件夹中的那个。

答案 5 :(得分:-1)

还要考虑将msbuild与版本一起使用,对应于Web部署工具版本。 我遇到了与OP相同的问题。解决方案是在buildServer上将msbuild从4.5更改为4.0。

答案 6 :(得分:-3)

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