Командная строка Visual Studio выдает «\ Common было неожиданным в это время» - PullRequest
15 голосов
/ 06 января 2012

Мне нужно запустить MSBuild из командной строки с помощью командной строки Visual Studio (2010).Раньше работал нормально.Теперь, когда я открываю окно, я получаю следующее сообщение об ошибке:

\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 не производит никакого вывода, поэтому я не знаю, как это могло произойти.

Я использую 64-разрядную версию Windows 7.

Буду признателен за любую помощь.

Ответы [ 3 ]

29 голосов
/ 06 января 2012

См. этот поток.

Полагаю, ваш PATH был недавно изменен и теперь содержит путь к папке с кавычками внутри.

НТН

3 голосов
/ 14 февраля 2015

Моя проблема заключалась в том, что внутри блока if в переменной назначения переменной (% PATH% в моем случае) содержались круглые скобки, например:

set var=foo ) got ya

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

Отображает «получил неожиданно в это время.»

Я нашел ответ здесь: Переменная пакетного файла с пробелами и скобками . Который должен использовать расширенный синтаксис множества. Например:

set "var2=%var%"

Это не добавляет кавычки и не влияет на результат, сохраненный в% var2%.

0 голосов
/ 05 февраля 2015

У меня были кавычки (") в переменной PATH, которая вызвала это, после того как я их удалил, она начала работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...