2012-01-06 4 views
14

Visual Studioのコマンドプロンプト(2010)を使用してコマンドラインからMSBuildを実行する必要があります。それはうまく動作していました。私は、ウィンドウを開いたときに今、私は、次のエラーメッセージが表示されます。Visual Studioのコマンドプロンプトで「 Commonは今回は予期していませんでした。」

\Common was unexpected at this time. 

は、それが失敗した後msbuildコマンドを実行しようとしています。

私はPATH環境変数に引用符で囲まれていないエントリが問題であると考えていました。私はそれを確認しましたが、PATHは正直であるようです。

ファイルシステムを調べると、プロンプトによって実行されているバッチファイルがC:¥Program Files(x86)¥Microsoft Visual Studio 10.0¥VC¥bin¥vcvars32.batであることがわかりました。私はECHOステートメントを入れてエラーの位置をトレースすることでそれを編集しました。私は引用符を削除した場合

@if not "%WindowsSdkDir%" == "" (

、エラーが異なっている:それは、この行でエラーを指すように見えた「ファイルは、この時点で予想されていませんでした」この後

次の2行は次のようになります。

@echo 51 
@set "PATH=%WindowsSdkDir%bin\NETFX 4.0 Tools;%WindowsSdkDir%bin;%PATH%" 

私は仮定失敗文が二行目が、任意の出力を生成しませんecho文があったので、私は知らないどのようにそれができました起こっている。

私はまったく助けをいただければ幸いですWindows 7の

の64ビット版を使用しています。

+0

64ビットウィンドウを使用しているので、32ビットではなく、64ビットbatファイル 'C:¥Program Files¥Microsoft Visual Studio 9.0¥VC¥bin¥amd64¥vcvarsamd64.bat'を参照していると思います。あなたが言及したように。残念ながら、私は64ビットマシンをテストする必要はありません! –

答えて

27

thisスレッドを参照してください。

私の推測では、あなたのPATHは最近修正されており、内部に引用符で囲まれたフォルダパスが含まれているようです。

HTH

+3

完璧!ありがとう。私は引用符を削除し、再び動作します。私はそれがスペースと混同されるのを止めるためにWindowsが引用符を必要とするという前提に基づいて試していなかった。そうではないように見えます。再度、感謝します! – Richard

+0

@リチャード私の喜び:) –

+1

ありがとう!私は2日を無駄にして何も助けなかった!最後にあなたの答えが救助に来ました!あなたロック! –

0

私はそれらを削除した後、それは仕事を始め、これを引き起こしたPATH変数に引用符( ")を持っていた。

3

私の問題がある場合の内部で変数のrvalにをブロックするということでした割り当て(私の場合は%PATH%は)例えば、括弧が含ま:

set var=foo) got ya 

if 1 == 2 (
    set var2=%var% 
) 

ディスプレイ "なったこの時点では予想外だった"

私はANSWを見つけましたここに:Batch file variable with spaces and parentheses。これはsetの拡張構文を使用することです。例:

set "var2=%var%" 

これは引用符を追加せず、%var2%に格納された結果には影響しません。

関連する問題