Отказ от ответственности: пока не использую MsBuild, все взято из документации и экспериментов с IDE
Согласно справке командной строки MsBuild (http://msdn.microsoft.com/en-us/library/ms164311.aspx):
/ property: name = value
Устанавливает или переопределяет эти свойства уровня проекта, где name - это имя свойства, а value - значение свойства.Используйте точку с запятой или запятую для разделения нескольких свойств или укажите каждое свойство отдельно./ р также приемлемо.Например: / property: WarningLevel = 2; OutputDir = bin \ Debug
Установка или переопределение - это все, что вы можете сделать для значения свойства.Добавление значения свойства из файла проекта либо невозможно, либо имеет место скрытой функцией.
Но я думаю, что вы могли бы сделать, это определить пользовательское свойство в вашем файле dproj со значением "" в качестве значения по умолчанию:
<PropertyGroup>
<ExtraDefines> </ExtraDefines>
</PropertyGroup>
ссылка, которая в вашем операторе определения
<DCC_Define>DUNIT;$(ExtraDefines);$(DCC_Define)</DCC_Define>
, который в IDE должен быть DUNIT;$(ExtraDefines)
, а затем указать его в командной строке:
msbuild boohoo.dproj /p:Config=Release;ExtraDefines="hoo"
Я тестировал добавление $ (ExtraDefines) в поле Включитьварианты проекта с помощью IDE.И, по крайней мере, это не помешало мне, даже не имея опции, определенной в dproj.Командная строка, создаваемая из этой среды, была:
...rad studio\7.0\bin\dcc32.exe --no-config -B -Q -DDEBUG;DUNIT; -E....
, которая, по-видимому, указывает на то, что $ (ExtraDefines) был удален, поскольку он не имел значения.И что это должно быть получено с помощью MSBuild и указанием значения в командной строке.