«все символы» здесь действительно важны. Если вы используете / p: DefineConstants для определения константы, вы потеряете все остальные определенные константы в проекте. DefineConstants должен содержать все необходимые в проекте константы, которые нельзя смешивать и сопоставлять константы, определенные в проекте и определенные с помощью DefineConstants.

зможно, просто слепой, но есть ли командная строка для указания символов условной компиляции в MSBUILD?

В настоящее время у меня есть эта строка в моем buildscript:

SET MSBUILD=C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\MSBuild.exe
SET CONFIG=Debug
%MSBUILD% /p:Configuration=%CONFIG% /p:OutputPath=..\..\output source\MyProject\MyProject.csproj

И я хотел бы добавить условие. В Visual Studio я могу просто войти в Project Properties => Build => Условные символы компиляции, но я не видел эту опцию для msbuild?

Бонус Карма, если вы знаете, могу ли я полностью переопределить все символы, уже указанные в файлах .csproj, чтобы убедиться, что в него входят только условные выражения из моего Buildscript.

Ответы на вопрос(4)

Ваш ответ на вопрос