Задача MsBuild и область действия свойств - PullRequest
3 голосов
/ 12 мая 2011

У меня есть один проект сборки с целевой сборкой

<Target Name="Build">
    <Message Text="Version : $(FullVersionNr)"  />
    <MSBuild Projects="@(WebProj)"  Properties="WebProjectOutputDir=$(SitePublishPath);OutDir=$(SitePublishPath1);Configuration=$(Configuration)" />      
<Message Text="Version  : $(FullVersionNr)"  /> 

, и во время сборки я установил $ (FullVersionNr) для точного номера сборки, и это не этот номер в конце

Я даже объявил $ (FullVersionNr) prop в другом файле

<Import Project="Common.proj"/>

, и он не выходит.

Это только один способ связи между родителем и дочерним проектом, и я хочу егобыть двунаправленным

1 Ответ

2 голосов
/ 12 мая 2011

Эта статья MSDN должна дать вам несколько идей о том, как этого добиться: Свойства MSBuild . Более конкретно, этот пост должен ответить на ваши вопросы о сфере действия: Область свойств и элемента в скрипте MSBuild . Обязательно прочитайте резюме в конце.

Таким образом, если вы выполняете группирование по нескольким проектам, возможно, что локальные контексты не были объединены обратно в глобальный контекст при повторном обращении к $(FullVersionNr) или что один локальный контекст перезаписал другой (т. Е. два дочерних проекта, первый обновляет сборку, а второй нет).

Одним из возможных решений для вас является использование свойств реестра, как описано в статье MSDN, и запись свойства только при обновлении его значения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...