2009-10-02 2 views
0

У меня есть скрипт сборки CCNet, который отлично работает, за исключением того, что время от времени заканчивается задача MSBuild. Я пошел и увеличил тайм-ауты с 600 до 900 до 1200. Нет кубиков, поэтому я убежден, что это имеет какое-то отношение к тому, что создает MSBuild; большой старый проект веб-приложений. Я смотрел на google для каких-либо признаков проблемы здесь, но ничего не понял.Диагностика Cruise Control .NET task timeouts

Неужели кто-нибудь испытал эту проблему раньше? В более общем плане, какие шаги вы предпринимаете для диагностики тайм-аута в CCNet?

ответ

1

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

C:\WINDOWS\Microsoft.NET\Framework\v3.5\msbuild.exe Build.proj /l:MSBuildProfileLogger,MSBuildProfiler,Version=1.0.1.0,Culture=neutral,PublicKeyToken=09544254e89d148c 

Хорошо «ола процесс ликвидации

+0

+1 для ссылки на MsBuild Profiler, я не знал, что проект существует! Я обязательно попробую это. –

+0

Как ни странно, прикрепление профайлера, похоже, остановило процесс сборки для тайминга. Идите фигуру. –

0

Я испытал что-то подобное несколько раз, когда местная сборка была довольно быстрой, но задача была направлена ​​на круиз-контроль.

Он всегда скупал вещи (возможно, целую ветвь вашего кода) из какого-то сетевого местоположения и тайм-аут задачи круиз-контроля по этой причине.

Другой вариант, вы строите машину, может быть очень низким по спецификации, но вы бы это заметили!

+0

Самое смешное, что иногда он совершается на ночных строках без изменений источника. –

+0

в моем случае с форсированным источником сборки - нет, он уничтожит репозиторий на машине сборки и вытащит все, так что он будет работать даже без изменений источника в случае сетевых узких мест – JohnIdol

1

У меня был подобный опыт. После отладки и запуска в командной строке cmd выяснилось, что проблема связана с разрешениями на запись.

Необходимо проверить разрешения сети, на которые указывает выходная папка. Обычно Vista/Windows 7 имеют проблемы с разрешением на работу в сети.

Попробуйте предоставить полные разрешения для папки с открытым исходным кодом и посмотреть, что произойдет. А также попытайтесь увидеть, что путь ссылки правильно подбирается или нет.

От VS оно будет прекрасно, но когда вы попробуете с CC.net, нам, возможно, придется дать ссылку.

/р: ReferencePath = C: \ Users ....

Надеется, что это будет полезно.

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