我想打包我的VS2010 Web应用程序项目,准备使用msdeploy进行部署。在开发机器上,我可以使用:
MSBuild.exe "C:\path\to\WebApp.csproj" /target:package
但是在我的构建服务器上,我收到此错误:
错误MSB4057:项目中不存在目标“包”。
我在构建服务器上缺少什么?
Answers:
通过在构建服务器上执行以下步骤,我无需安装VS2010就可以正常工作:
这似乎对我有用
C:\Program Files
位将是c:\Program Files (x86)
,如果你在64位机器上运行32位的MSBuild [像在我的情况](在我的情况下,Web
部分是缺少的成分- I假设Microsoft.WebApplications.targets
和/或被默默地忽略不存在的Microsoft.Web.Publishing
。 * .targets
)
我知道这是一个老问题,但是最近我遇到了同样的问题,没有一个答案有帮助。我在构建服务器上缺少以下文件:
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.Microsoft.VisualStudio.Web.targets程序包。无需手动复制目标即可构建服务器。
我遇到了同样的问题。通过添加以下内容来解决:
<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文件。
要解决此问题,请在生成服务器上安装Visual Studio 2010,并确保已安装Visual Web Developer
功能。