Я подхожу к этому, чтобы определить несколько конфигураций сборки, а затем выбрать подходящую во время сборки с помощью /p:config=XXX
. Прекрасно работает и в IDE, потому что вы можете просто дважды щелкнуть конфигурацию сборки в менеджере проектов, чтобы активировать ее.
Я лично использую наследование конфигураций сборки, когда я делаю это, чтобы мне не пришлось повторяться. Например, у меня есть конфигурация сборки с именем Debug DCUs
, которая наследуется от конфигурации Debug
и просто меняет параметр Debug DCUs
на True
.
Чтобы объяснить, что я имею в виду, вот как выглядит дерево конфигурации сборки в моем проекте:
Настройка Debug DCUs
осуществляется с помощью этого набора параметров:
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<DCC_DebugDCUs>true</DCC_DebugDCUs>
</PropertyGroup>
<ProjectExtensions>
<Borland.Personality>Delphi.Personality.12</Borland.Personality>
<Borland.ProjectType>OptionSet</Borland.ProjectType>
<BorlandProject>
<Delphi.Personality/>
</BorlandProject>
<ProjectFileVersion>12</ProjectFileVersion>
</ProjectExtensions>
</Project>
Теперь я уверен, что вы могли бы сделать это с помощью /p:DCC_Define=XXX
, но я думаю, что использование конфигураций сборки более понятно, так что вы можете быть уверены, что то, что вы получаете, IDE совпадает с тем, что вы получаете сборка командной строки.
Я бы не рекомендовал ни один из подходов в вашем списке. Эти подходы кажутся мне чрезвычайно хрупкими.