2010-01-26 10 views
1

Je tente de créer un projet de déploiement Web dans Visual Studio 2008 et il continue d'échouer et je ne sais pas pourquoi. Erreur:Échec de la génération du projet de déploiement Web (Visual Studio 2008)

------ 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 Files\MSBuild\Microsoft\WebDeployment\v9.0\Microsoft.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 ========== 

J'ai le même projet sur une autre machine et il se construit très bien. J'ai téléchargé et installé Visual Studio 2008 Web Deployment Projects - RTW Service Pack 1 pour Visual Studio 2008.

Edit:

Dans la liste des erreurs, il a Error 1 The command "if exist ".\TempBuildDir\" rd /s /q ".\TempBuildDir\"" exited with code 1.. Je ne sais pas pourquoi il vient avec C:\Documents que le projet est dans un dossier sans espaces (C:\Web\Projects\)

Il arrive avec un tout nouveau projet de déploiement Web, créé par un clic droit sur le site et en cliquant sur Add Web Deployment Project.

Édition (29 janv.). sortie plus bavarde, failes chaque fois <exec> avec if exist est utilisé:

Building with tools version "3.5". 
Target "_PrepareForBuild" in file "C:\Program Files\MSBuild\Microsoft\WebDeployment\v9.0\Microsoft.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 Files\MSBuild\Microsoft\WebDeployment\v9.0\Microsoft.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 
+1

C: \ Documents and Settings – RYFN

+0

'C: \ Documents' n'est référencé nulle part dans la solution ou les fichiers de projet – SamWM

Répondre

1

Trouvé ce que le problème était.

Le dossier de profil utilisateur comportait un signe @, ce qui peut sembler indiquer que MSBuild est cassé (puisque @ a une signification particulière pour MSBuild).

Le dossier du profil utilisateur était C:\Documents and Settings\[email protected], le renommer C:\Documents and Settings\username a corrigé ce problème. Donc, avoir des espaces dans le nom du dossier n'était pas la raison de l'échec.

1

Je pense que votre projet génère un répertoire temporaire, après quoi il est copié dans un emplacement plus permanent. ".\TempBuildDir\" est un chemin relatif qui peut conduire à un répertoire non-espacé sur le PC pour lequel la génération réussit, mais échoue sur votre PC en raison de l'emplacement de votre répertoire temporaire (par défaut dans C: \ Documents and Settings). Pour être sûr, vérifiez l'emplacement des répertoires temporaires sur votre ordinateur et sur l'autre ordinateur. Ou, si possible, remplacez le chemin TempBuildDir par quelque chose de plus absolu comme C: \ Temp ou tout ce qui vous convient. Pour être plus précis: si l'autre machine est un PC Vista ou Win7, le TempBuildDir peut se trouver quelque part dans le répertoire C: \ Users. Si votre machine est un PC WinXP, TempBuildDir réside probablement quelque part dans C: \ Documents and Settings.