Web部署项目失败构建(Visual Studio 2008)

我正试图在Visual Studio 2008中构建一个Web部署项目,并且它保持失败,我不知道为什么。 错误:

------ Build started: Project: website_deploy, Configuration: Release Any CPU ------
if exist ".TempBuildDir" rd /s /q ".TempBuildDir"
'C:Documents' is not recognized as an internal or external command,
operable program or batch file.
C:Program FilesMSBuildMicrosoftWebDeploymentv9.0Microsoft.WebDeployment.targets(92,7): error MSB3073: The command "if exist ".TempBuildDir" rd /s /q ".TempBuildDir"" exited with code 1.
Done building project "website_deploy.wdproj" -- FAILED.
========== Build: 1 succeeded or up-to-date, 1 failed, 0 skipped ==========

我在另一台机器上有同样的项目,它的构建很好。 我已经下载了Visual Studio 2008 Web部署项目 - RTW并为Visual Studio 2008安装了Service Pack 1。

编辑:

在错误列表中,它有Error 1 The command "if exist ".TempBuildDir" rd /s /q ".TempBuildDir"" exited with code 1. 。 因为项目位于不含空格的文件夹中( C:WebProjects ),所以我不知道它为什么会出现在C:Documents

它发生在一个全新的Web部署项目中,该项目是通过右键单击网站并单击Add Web Deployment Project

编辑(1月29日)。 更详细的输出,每当使用<exec>if exist exists时都会失败:

Building with tools version "3.5".
Target "_PrepareForBuild" in file "C:Program FilesMSBuildMicrosoftWebDeploymentv9.0Microsoft.WebDeployment.targets":
  Using "CreateProperty" task from assembly "Microsoft.Build.Tasks.v3.5, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a".
  Task "CreateProperty"
  Done executing task "CreateProperty".
  Task "CreateProperty"
  Done executing task "CreateProperty".
  Task "CreateProperty"
  Done executing task "CreateProperty".
  Using "Exec" task from assembly "Microsoft.Build.Tasks.v3.5, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a".
  Task "Exec"
    Command:
    if exist ".TempBuildDir" rd /s /q ".TempBuildDir"
    'C:Documents' is not recognized as an internal or external command,
    operable program or batch file.
    C:Program FilesMSBuildMicrosoftWebDeploymentv9.0Microsoft.WebDeployment.targets(92,7): error MSB3073: The command "if exist ".TempBuildDir" rd /s /q ".TempBuildDir"" exited with code 1.
  Done executing task "Exec" -- FAILED.
Done building target "_PrepareForBuild" in project "website_deploy.wdproj" -- FAILED

看看这里:http://social.msdn.microsoft.com/Forums/en/tfsbuild/thread/9c14fd1c-4c6c-4a5b-ac2a-05a2972036e9

如果没有这个窍门,请在Google上搜索“MSB3073”来自帖子的特定错误代码。

祝你好运!


我认为你的项目建立到一个临时目录,之后它被复制到一个更加永久的位置。 ".TempBuildDir"是一个相对路径,它可能导致pc上的非间距目录生成成功,但由于临时目录的位置而在个人电脑上失败(默认位于C: Documents and Settings )。

可以肯定的是:检查你的电脑和其他机器上临时目录的位置。 或者,如果可能的话,将TempBuildDir路径更改为更类似于C: Temp或任何适合您的东西。

更具体地说:如果另一台机器是Vista或Win7 PC,则TempBuildDir可能位于C: Users目录内的某处。 如果您的机器是WinXP电脑,TempBuildDir很可能位于C: Documents and Settings中的某处。


找出问题所在。

用户配置文件文件夹中有一个@符号,看起来它可能会破坏MSBuild(因为@对MSBuild有特殊含义)。

用户配置文件文件夹是C:Documents and Settingsusername@domain ,将其重命名为C:Documents and Settingsusername解决了我遇到的这个问题。 所以文件夹名称中有空格不是失败的原因。

链接地址: http://www.djcxy.com/p/81655.html

上一篇: Web Deployment Project failing build (Visual Studio 2008)

下一篇: Using Robocopy to deploy sites