找不到 MSBuild 目标包

我想把我的 VS2010 web 应用程序项目打包,准备用 msdepartment 进行部署。在开发机器上,我可以使用:

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

但是在我的构建服务器上,我得到了这个错误:

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

我在构建服务器上漏掉了什么?

52129 次浏览

你需要。安装在构建服务器上的 Net 4.0。那个。Net 4.0的安装将放入新的 MSBuild 4.0,它支持打包 web 应用程序项目。

另外,在运行 msbuild.exe 时,请确保运行的是位于。Net 4.0框架文件夹。

要解决此问题,请在生成服务器上安装 VisualStudio2010,并确保安装了 Visual Web Developer特性。

我只是在没有安装 VS2010的情况下,通过在构建服务器上执行以下步骤来完成这项工作:

  1. 如果没有安装.NETFramework4,请安装它
  2. http://www.iis.net/download/webdeploy安装 Web 部署工具
  3. 从开发计算机上的 C: Program Files MSBuild Microsoft VisualStudio v10.0文件夹中,将“ Web”和“ Web Applications”文件夹复制到构建服务器上相应的目录中。

我觉得这样挺好

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

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

希望这对像我这样的人有所帮助:)

还要考虑使用与版本相对应的 msbuild 和 WebDeployment 工具版本。 我遇到过与 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" />

到我的 CSproj 文件。

您可以安装 MSBuild. Microsoft. VisualStudio. Web.target软件包。不需要手动复制目标来构建服务器。