CruiseControl.Net и NAnt создают проблему - PullRequest
1 голос
/ 02 мая 2009

Я настраиваю сервер 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 работает на той же машине, на которой я обычно запускаю сценарии сборки с

Ответы [ 2 ]

2 голосов
/ 02 мая 2009

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

1 голос
/ 03 мая 2009

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

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

...