2010-12-08 2 views
0

У меня есть проект .Net 4.0, который я хочу построить в CruiseControl.Net.Почему мои поля CruiseControl.Net недоступны в моем скрипте сборки?

Теперь он настроен, поэтому он строит публикацию-сборку и отлично работает, за исключением номера версии, где я не могу ссылаться на CCNetLabel, который я хочу использовать для последней цифры номера версии.

Когда я пытаюсь ссылаться на поле/переменную, мне говорят, что это неизвестно.

Казалось бы, CC.Net не переносит значения в мой сценарий, но что я делаю неправильно?

Ниже ccnet.config и продукт-ci.config

Спасибо за любые предложения,

Андерс, Дания

<cruisecontrol xmlns:cb="urn:ccnet.config.builder"> 
    <cb:include 
     href="configs/product-ci.config" 
     xmlns:cb="urn:ccnet.config.builder"/> 
</cruisecontrol> 

<cb:scope xmlns:cb="urn:ccnet.config.builder" 
    CCNetWebServer="dkapp04" 
    TriggerInterval="10" 
    WorkingDir="d:\ccnet.output\product" 
    msBuildTargets="Publish" 
    excludedNunitCategories="" 
    publishUrl="http://dkapp04/product/Dev/" 
    destinationFolder="d:\ccnet.output\product\Dev" 
    version ="1.0.0.${CCNetLabel}" 
> 
    <project 
    name="product" 
    webURL="http://$(CCNetWebServer)/ccnet/server/local/project/product-ci/ViewLatestBuildReport.aspx" 
    queue="default"> 

    <state type="state" directory="C:\Program Files\CruiseControl.NET\server\States\" /> 

    <triggers> 
     <intervalTrigger seconds="$(TriggerInterval)" /> 
    </triggers> 

    <sourcecontrol type="svn"> 
     <trunkUrl>https://dkapp04.company.com/svn/product/trunk</trunkUrl> 
     <workingDirectory>$(WorkingDir)</workingDirectory> 
     <cleanCopy>false</cleanCopy> 
     <executable>C:\Program Files\VisualSVN Server\bin\svn.exe</executable> 
    </sourcecontrol> 

    <tasks> 
     <msbuild 
     executable = "C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" 
     workingDirectory = "$(WorkingDir)\src" 
     projectFile="BuildScript.proj" 
     buildArgs = "/p:Configuration=Debug /p:excludedNunitCategories=$(excludedNunitCategories) /p:DestinationFolder=$(destinationFolder) /p:PublishUrl=$(publishUrl) /p:ApplicationVersion=$(version)" 
     targets = "$(msBuildTargets)" 
     timeout = "100" 
     logger = "C:\Program Files\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MsBuild.dll" 
      /> 
    </tasks> 
    </project> 
</cb:scope> 

ответ

0

CCNetLabel передается как свойство в файл проекта MSBuild и доступный внутри него для использования. Я использую его, как это, со значением по умолчанию.

<PropertyGroup> 
<CCNetLabel Condition="$(CCNetLabel)==''">0.0.0.0</CCNetLabel> 
</PropertyGroup> 
+0

Привет, Пратик, спасибо, что нашли время. Мне понадобится немного больше помощи. Теперь я загрузил svnRevisionLabeller, который работает как шарм. Я получаю исправления, на которые я нацелен. Опубликованная версия все равно 1.0.0.3, как написано в исходных файлах (и отображается в VS). Как это сделать последним шагом в msbuild? Я не могу найти параметры, которые подходят ... – 2010-12-08 10:15:09

Смежные вопросы