2009-05-02 2 views
1

Я настраиваю сервер CruiseControl.net в первый раз. Моя команда уже использует скрипты NAnt build, поэтому мы просто указываем сервер на скрипты и позволяем NAnt выполнять всю работу.Проблема сборки CruiseControl.Net и NAnt

Как вы можете видеть, это довольно просто:

<project name="ChannelIP"> 
    <tasks> 
     <nant> 
      <executable>C:\Program Files\nant-0.86-beta1\bin\nant.exe</executable> 
      <baseDirectory>D:\mypath</baseDirectory> 
      <buildFile>D:\mypath\myNAnt.build</buildFile> 
      <targetList> 
       <target>build</target> 
      </targetList> 
     </nant> 
    </tasks> 
</project> 

Проблема заключается в том, что, когда я бегу под CC, я получаю следующее сообщение об ошибке:

Function call failed. Expression: ${framework::get-framework-directory('net-3.5')}/msbuild.exe

  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 

Microsoft .NET Framework 3.5 (net-3.5) is not installed, or not correctly configured. Object reference not set to an instance of an object.

я, на самом деле, используйте переменную $ {framework :: get-framework-directory ('net-3.5')}, чтобы получить путь к msbuild.exe; однако этот код никогда не прерывался раньше. Я могу даже RDP на сервере использовать учетную запись пользователя, в которой работает CC, и напрямую запускать файл сборки NAnt, и он работает нормально.

Почему в противном случае прекрасный файл выходит из строя, только когда CC запускает его.

Примечание -CC работает на той же машине, что я обычно запускать в сценарии сборки из

ответ

1

Это звучит как проблема NAnt, были некоторые проблемы с ним и .NET 3.5. Какую версию NAnt вы используете?

Кроме того, вы видели Using 0.86 beta 1 for .NET 3.5? У парня есть то же сообщение об ошибке, которое было выбрано NAnt. Предлагаемое решение состояло в том, чтобы использовать новейшую ночную сборку.

+0

Использование последней ночной сборки сделало трюк. Реальная проблема заключалась в том, что я жестко закодировал путь к NAnt в файле ccnet.config и забыл указать его на последнюю сборку. Спасибо всем за помощь! –

2

Служба CC, вероятно, не работающие под учетной записью с соответствующими разрешениями. Вы пытались запустить CC, используя командную строку (которая будет запускаться как зарегистрированный пользователь), чтобы увидеть, есть ли у вас такая же проблема?

+0

Хорошее предложение. На самом деле это было то, с чем я столкнулся раньше, но нашел и исправил. Спасибо за эту мысль. –

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