我想把我的 VS2010 web 应用程序项目打包,准备用 msdepartment 进行部署。在开发机器上,我可以使用:
MSBuild.exe "C:\path\to\WebApp.csproj" /target:package
但是在我的构建服务器上,我得到了这个错误:
错误 MSB4057: 目标“包”在项目中不存在。
我在构建服务器上漏掉了什么?
你需要。安装在构建服务器上的 Net 4.0。那个。Net 4.0的安装将放入新的 MSBuild 4.0,它支持打包 web 应用程序项目。
另外,在运行 msbuild.exe 时,请确保运行的是位于。Net 4.0框架文件夹。
要解决此问题,请在生成服务器上安装 VisualStudio2010,并确保安装了 Visual Web Developer特性。
Visual Web Developer
我只是在没有安装 VS2010的情况下,通过在构建服务器上执行以下步骤来完成这项工作:
我觉得这样挺好
我知道这是一个老问题,但我最近遇到了同样的问题,没有一个答案有帮助。我在构建服务器上丢失了以下文件:
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软件包。不需要手动复制目标来构建服务器。