2010-01-26 2 views
1

Я пытаюсь создать проект веб-развертывания в Visual Studio 2008, и он продолжает терпеть неудачу, и я не знаю, почему. Ошибка:Ошибка создания веб-развертывания (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 ========== 

У меня такой же проект на другой машине, и он строит просто отлично. Я скачал Visual Studio 2008 Web Deployment Projects - RTW и установлен пакет обновления 1 для Visual Studio 2008.

Edit:

В списке ошибок, он имеет Error 1 The command "if exist ".\TempBuildDir\" rd /s /q ".\TempBuildDir\"" exited with code 1.. Я не знаю, почему он приходит с C:\Documents как проект находится в папке без пробелов (C:\Web\Projects\)

Это происходит с совершенно новый проект развертывания веб, созданной правой кнопкой мыши на веб-сайте и нажав Add Web Deployment Project.

Редактировать (29 января). Более подробный вывод, failes всякий раз, когда <exec> с if exist используется:

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 'не упоминается нигде в файлах решений или проектов – SamWM

ответ

1

Узнал, в чем проблема.

В папке профиля пользователя был знак @, который выглядит так, как будто он может сломать MSBuild (поскольку @ имеет специальное значение для MSBuild).

Папка профиля пользователя была C:\Documents and Settings\[email protected], переименовав ее в C:\Documents and Settings\username, исправил эту проблему у меня. Поэтому наличие пробелов в имени папки не было причиной сбоя.

1

Я думаю, что ваш проект построен в временном каталоге, после которого он скопирован в более постоянное место. ".\TempBuildDir\" - это относительный путь, который может привести к нераспределенному каталогу на компьютере, для которого сборка завершается успешно, но сбой на вашем компьютере из-за местоположения вашего каталога temp (по умолчанию в C: \ Documents and Settings).

Для уверенности: проверьте расположение временных каталогов на вашем компьютере и на другом компьютере. Или, если возможно, измените путь TempBuildDir на нечто более абсолютное, например C: \ Temp, или что вам подходит.

Чтобы быть более конкретным: если другой компьютер представляет собой Vista или Win7 pc, TempBuildDir может находиться где-то в каталоге C: \ Users. Если ваш компьютер представляет собой компьютер WinXP, TempBuildDir, скорее всего, находится где-то в папке C: \ Documents and Settings.

Смежные вопросы