Msbuild не может указать конфигурацию при вызове из другой программы - PullRequest
0 голосов
/ 15 сентября 2018

Я использую Visual Studio 2017 для работы с C ++.

Я могу создать двоичный файл релиза с msbuild /p:configuration=release в командной строке.При попытке собрать из другого процесса, используя system( "msbuild C:\\Users\\Chili\\Desktop\\Projects\\TestHarness\\TestHarness.sln /p:configuation=release" ), он создает двоичный файл Debug.

При сборке из командной строки, используя msbuild C:\\Users\\Chili\\Desktop\\Projects\\TestHarness\\TestHarness.sln /p:configuation=release (из другого рабочего каталога), я также получаю exe-файл Debug.Я также попытался изменить рабочий каталог и затем вызвать из моего процесса с msbuild /p:configuration=release, но это только дает отладочный двоичный файл.Кроме того, я заметил, что из командной строки msbuild /p:configuration=invalid выдаст ошибку, тогда как msbuild /p:configuration=invalid из моего процесса не выдаст никакой ошибки (опять же, отладка сборки).Однако я do знаю, что аргументы командной строки достигают msbuild, потому что, если я попытаюсь, например, msbuild /invalid:configuration=invalid из моего процесса, я do получит ошибку о переключателе.

РЕДАКТИРОВАТЬ На самом деле, кажется, что он вообще игнорирует переключатели / p / property -property, так как я могу сделать / property: bad = food, и это не бросает глаз.

Кто-нибудь знаетчто вызывает это несоответствие между вызовом из командной строки и вызовом из процесса?

...