1

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 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をダウンロードし、Visual Studio 2008の Service Pack 1 をインストールしました。

編集:

エラー リストには、 がありError 1 The command "if exist ".\TempBuildDir\" rd /s /q ".\TempBuildDir\"" exited with code 1.ます。C:\Documentsプロジェクトがスペースのないフォルダーにあるため、なぜ出てくるのかわかりません( C:\Web\Projects\)

これは、Web サイトを右クリックして をクリックして作成された新しい Web 展開プロジェクトで発生しAdd Web Deployment Projectます。

編集 (1 月 29 日)。<exec>より詳細な出力。 withif 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
4

3 に答える 3

2

ここを見てください: http://social.msdn.microsoft.com/Forums/en/tfsbuild/thread/9c14fd1c-4c6c-4a5b-ac2a-05a2972036e9

それでも問題が解決しない場合は、投稿から特定のエラー コード「MSB3073」を Google で検索してください。

幸運を!

于 2010-01-26T15:43:39.693 に答える
1

問題が何であるかを見つけました。

ユーザープロファイルフォルダーには@記号があり、MSBuildを壊す可能性があるようです(@はMSBuildにとって特別な意味があるため)。

ユーザープロファイルフォルダは、私が抱えていたこの問題を修正C:\Documents and Settings\username@domainするために名前を変更しました。C:\Documents and Settings\usernameしたがって、フォルダ名にスペースがあることは失敗の理由ではありませんでした。

于 2010-01-29T14:23:07.257 に答える
1

プロジェクトは一時ディレクトリにビルドされ、その後、より永続的な場所にコピーされると思います。".\TempBuildDir\"は相対パスであり、ビルドが成功するPC上のスペースのないディレクトリにつながる可能性がありますが、一時ディレクトリ(C:\ Documents and Settingsのデフォルト)の場所が原因でPC上で失敗します。

念のために言っておきますが、PCと他のマシンの一時ディレクトリの場所を確認してください。または、可能であれば、TempBuildDirパスをC:\Tempなどのより絶対的なものに変更します。

具体的には、他のマシンがVistaまたはWin7 PCの場合、TempBuildDirはC:\Usersディレクトリ内のどこかにある可能性があります。マシンがWinXPPCの場合、TempBuildDirはC:\ DocumentsandSettingsのどこかにある可能性があります。

于 2010-01-29T11:04:23.337 に答える