MSBuild target package not found

泪湿孤枕 提交于 2019-11-26 07:29:54

问题


I want to package my VS2010 web application project ready for deployment with msdeploy. On development machine I can do this using:

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

But on my build server I get this error:

error MSB4057: The target \"package\" does not exist in the project.

What am I missing on the build server?


回答1:


I just got this working without installing VS2010 by following these steps on the build server:

  1. If .NET Framework 4 isn't installed, install it
  2. Install the Web Deployment tool from http://www.iis.net/download/webdeploy
  3. From the C:\Program Files\MSBuild\Microsoft\VisualStudio\v10.0 folder on your dev machine copy the "Web" and "Web Applications" folders to the equivalent directory on your build server.

This seems to work for me




回答2:


I know it's an old question, but I recently ran into the same issue and none of the answers helped. I was missing following file on my build server:

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio
    \v11.0\Web\Microsoft.Web.Publishing.targets

It is imported by:

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

Hope this helps someone like me :)




回答3:


You may install MSBuild.Microsoft.VisualStudio.Web.targets package. No need to manually copy targets to build server.




回答4:


I experienced the same issue. Ended up resolving by adding this:

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

to my .csproj fiie.




回答5:


You need to have .Net 4.0 installed on the build server. The .Net 4.0 install will put the new MSBuild 4.0 which supports packaging web application projects.

Also, when you are running msbuild.exe make sure you are running the one that sits in the .Net 4.0 framework folder.




回答6:


Also consider using msbuild with version, corresponding to Web Deployment tool version. I have faced same problem as the OP. The solution was to change msbuild from 4.5 to 4.0 on buildServer.




回答7:


To solve this problem install Visual Studio 2010 on the build server and make sure you installed Visual Web Developer feature.



来源:https://stackoverflow.com/questions/2607428/msbuild-target-package-not-found

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!