Передача нескольких значений в свойство Wix DefineConstants с помощью MSBuild - PullRequest
14 голосов
/ 03 февраля 2009

В настоящее время я интегрирую свои проекты Wix в MSBuild. Мне необходимо передать несколько значений в проект Wix. Будет работать одно значение (ProductVersion в примере ниже).

<Target Name="BuildWixSetups">
    <MSBuild Condition="'%(WixSetups.Identity)'!=''"
                Projects="%(WixSetups.Identity)"
                Targets="Rebuild" Properties="Configuration=Release;OutputPath=$(OutDir);DefineConstants=ProductVersion=%(WixSetups.ISVersion)" ContinueOnError="true"/>
</Target>

Однако как передать несколько значений ключу DefineConstants? Я перепробовал все «логические» разделители (пробел, запятая, точка с запятой, символ трубы), но это не работает.

Кто-нибудь еще сталкивался с этой проблемой?

Решения, которые не работают:

  1. Попытка добавить элемент DefineConstants не работает, поскольку DefineConstants необходимо выразить в атрибуте Properties.

Ответы [ 12 ]

0 голосов
/ 01 июля 2009

Почему вы указываете DefineContstants = ProductVersion = XXXXXX?

Для DefineConstants вы не присваиваете значения, либо константа (например, DEBUG или TRACE) определена, либо нет. Это свойство относится к переключателю компилятора / define C #. Что ты на самом деле пытаешься сделать?

Кроме того, я не уверен, что вы имеете в виду, когда говорите, что мой пост в блоге является «взломом», и все дело в том, что он был построен дважды.

Сайед Ибрагим Хашими

Моя книга: Внутри Microsoft Build Engine: Использование MSBuild и Team Foundation Build

0 голосов
/ 03 февраля 2009

Я думаю, что-то вроде этого должно работать.

 <DefineConstants>DEBUG;TRACE</DefineConstants> 

Проверьте это сообщение в блоге, чтобы увидеть, может ли оно вам помочь. http://www.sedodream.com/PermaLink,guid,9b1d23aa-6cb2-48cb-a47a-9cef29622676.aspx

Также проверьте это сообщение на форуме. Это решает ту же проблему, что и ваша. http://social.msdn.microsoft.com/Forums/en-US/msbuild/thread/3f485bf4-1b00-48bf-b5d0-4b83341ce4a6/

...