msbuild, определяющий символы условной компиляции

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

Обновление: блог исчез; retrieved via Internet Archive:

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

"/p:DefineConstants=MY_PREPROC_FLAG"

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

"/p:DefineConstants=MY_PREPROC_FLAG;YET_ANOTHER_FLAG"

но этот .net-framework не сработал.

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

"/p:DefineConstants=MY_PREPROC_FLAG YET_ANOTHER_FLAG" 

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

.net

msbuild

compiler-options

2022-10-16T17:36:22+00:00