Я настраиваю сервер 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 работает на той же машине, что я обычно запускать в сценарии сборки из
Использование последней ночной сборки сделало трюк. Реальная проблема заключалась в том, что я жестко закодировал путь к NAnt в файле ccnet.config и забыл указать его на последнюю сборку. Спасибо всем за помощь! –