Web Deployment Project failing build (Visual Studio 2008)
I am trying to build a Web Deployment Project in Visual Studio 2008 and it keeps failing and I am not sure why. Error:
------ 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 ==========
I have the same project on another machine and it builds just fine. I have downloaded Visual Studio 2008 Web Deployment Projects - RTW and installed Service Pack 1 for Visual Studio 2008.
Edit:
In the error list, it has Error 1 The command "if exist ".TempBuildDir" rd /s /q ".TempBuildDir"" exited with code 1.
. I don't know why it is coming up with C:Documents
as the project is in a folder without spaces ( C:WebProjects
)
It happens with a brand new web deployment project, created by right-clicking on the website and clicking Add Web Deployment Project
.
Edit (29 Jan). More verbose output, failes whenever <exec>
with if exist
is used:
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
Look here: http://social.msdn.microsoft.com/Forums/en/tfsbuild/thread/9c14fd1c-4c6c-4a5b-ac2a-05a2972036e9
If that doesn't do the trick, search Google for "MSB3073" the specific error code from your post.
Good Luck!
I think your project build to a temp directory, after which it is copied to a more permanent location. ".TempBuildDir"
is a relative path which may lead to a non-spaced directory on the pc for which the build succeeds, but fails on your pc because of the location of your temp directory (default in C:Documents and Settings).
Just to be sure: check the location of the temp directories on your pc and the other machine. Or, if possible, change the TempBuildDir path to something more absolute like C:Temp or whatever suits you.
To be more specific: if the other machine is a Vista or Win7 pc, the TempBuildDir might reside somewhere within the C:Users directory. If your machine is a WinXP pc, TempBuildDir most likely resides somewhere in C:Documents and Settings.
Found out what the problem was.
The user profile folder had an @ sign in it, which looks like it may break MSBuild (since @ has a special meaning to MSBuild).
The user profile folder was C:Documents and Settingsusername@domain
, renaming it to C:Documents and Settingsusername
fixed this issue I was having. So having spaces in the folder name was not the reason for the failure.