Сбой MSBuild с параметром / p: OutDir - PullRequest
0 голосов
/ 08 мая 2018

В VS2015 я создал тестовое консольное приложение C ++ 'Kon' (Новый проект-> Visual C ++ -> Win32-> Консольное приложение Win32).

Если я запускаю MSBuild с параметром / p: OutDir, он все время терпит неудачу:

* C: \ examples \ Kon> msbuild / p: Configuration = "Release" / p: OutDir = "C: \ out \"

Microsoft (R) Build Engine версия 14.0.25420.1 Авторское право (C) Microsoft Corporation. Все права защищены. Сборка проектов в этом решении по одному. Чтобы включить параллельную сборку, добавьте ключ «/ m». Сборка началась 8/8/2018 16:29:00. Проект "C: \ examples \ Kon \ Kon.sln" на узле 1 (цели по умолчанию). ValidateSolutionConfiguration: Конфигурация строительного решения "Release | x64". Проект "C: \ examples \ Kon \ Kon.sln" (1) строит "C: \ examples \ Kon \ Kon \ Kon.vcxproj" (2) на узле 1 (цели по умолчанию). C: \ Program Files (x86) \ MSBuild \ Microsoft.Cpp \ v4.0 \ V140 \ Microsoft.CppCommon.targets (31,5): ошибка MSB4184: выражение "[System.IO.Path] :: Объединить (C: \ examples \ Kon \ Kon \, C: \ out "\ Kon.exe)" c не будет оцениваться. Недопустимые символы в пути. [C: \ examples \ Kon \ Kon \ Kon.vcxproj] Готово Создание проекта "C: \ examples \ Kon \ Kon \ Kon.vcxproj" (цели по умолчанию) - СБОЙ. Готово Создание проекта "C: \ examples \ Kon \ Kon.sln" (цели по умолчанию) - СБОЙ. Сборка не удалась. "C: \ examples \ Kon \ Kon.sln" (цель по умолчанию) (1) -> "C: \ examples \ Kon \ Kon \ Kon.vcxproj" (цель по умолчанию) (2) -> C: \ Program Files (x86) \ MSBuild \ Microsoft.Cpp \ v4.0 \ V140 \ Microsoft.CppCommon.targets (31,5): ошибка MSB4184: выражение "[System.IO.Path] :: Combine (C) : \ examples \ Kon \ Kon \, C: \ out "\ Kon.exe)" не может быть оценено. Нелегальные персонажи в пути. [C: \ примеры \ Кон \ Кон \ Kon.vcxproj] 0 Предупреждение (я) 1 ошибка Прошедшее время 00: 00: 00.12 *

Я получаю ту же ошибку со всеми видами проектов C ++, включая MFC и ATL, но проекты C # прекрасно работают с этой опцией.

1 Ответ

0 голосов
/ 08 мая 2018

Если вы посмотрите на

ошибка MSB4184: выражение "[System.IO.Path] :: Combine (C: \ examples \ Kon \ Kon \, C: \ out" \ Kon.exe) " не может быть оценено. Недопустимые символы в пути.

В середине пути есть двойная кавычка. Так что если вы удаляете двойные кавычки из параметра OutDir, например, так: / p: OutDir = C: \ out, тогда он должен работать как положено.

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