Я настраиваю сервер CruiseControl.net впервые. Моя команда уже использует сценарии сборки NAnt, поэтому мы просто указываем серверу на сценарии и позволяем 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, я получаю следующую ошибку:
Ошибка вызова функции.
Выражение:
$ {Рамки :: получить-структурный каталог ( 'сеть-3,5')} / msbuild.exe
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Microsoft .NET Framework 3.5 (net-3.5)
не установлен или не правильно
сконфигурировано. Ссылка на объект не установлена
к экземпляру объекта.
Фактически, я использую переменную $ {framework :: get-framework-directory ('net-3.5')}, чтобы получить путь к msbuild.exe; Однако этот код никогда не был неудачным. Я даже могу RDP на сервер, используя учетную запись пользователя, под которой работает CC, и запустить файл сборки NAnt напрямую, и он работает просто отлично.
Почему этот файл в противном случае не работает, только когда CC его запускает.
Примечание
-CC работает на той же машине, на которой я обычно запускаю сценарии сборки с