msbuild, определяя Символы Условной компиляции

Оказывается, я устанавливал промежуточное ПО в неправильном порядке при запуске. См. этот ответ , где запрашивающий должен был зарегистрировать аутентификацию AAD ранее в конвейере, чтобы все заработало. В противном случае вы можете просто получить 401 ответ каждый раз, независимо от конфигурации.

65
задан Matt 17 June 2013 в 12:05
поделиться

2 ответа

Вы видели это ? (большая часть информации находится в предпоследнем сообщении)

/p:DefineConstants="MYSYMBOL1;MYSYMBOL2"
126
ответ дан Michael Stum 24 November 2019 в 15:20
поделиться

Мне пришлось использовать пробел вместо точки с запятой, как в этом сообщении Бьорна Ласара: http://www.linqinpark.net/2009/01 /13/MSBuildWithMultipleDefineConstants.aspx

Update: блог исчез; получено через Интернет-архив :

Недавно мне пришлось использовать MSBuild напрямую для автоматизации некоторых сборок. Мне также пришлось настроить некоторые определения препроцессора на основе конфигурации. Обычно это делается с помощью такого аргумента

"/p:DefineConstants=MY_PREPROC_FLAG"

Здесь нет ничего особенного, поскольку в сети достаточно комментариев по этому поводу. Сегодня мне понадобился еще один флаг, и я использовал синтаксис командной строки, аналогичный тому, который я знал по IDE:

"/p:DefineConstants=MY_PREPROC_FLAG;YET_ANOTHER_FLAG"

, но этот не работал.

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

"/p:DefineConstants=MY_PREPROC_FLAG YET_ANOTHER_FLAG" 

, и он будет добавлен в определения (разделенные точкой с запятой) из среды IDE. Полезно знать, я думаю ...

16
ответ дан 24 November 2019 в 15:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: