Сегодня счастливый день, так как нам удалось докопаться до сути дела.Извините, @Duat, что я убрал галочку 'answer' - но оказалось, что проблема сильно отличалась от того, что вы (и все остальные) предсказывали.
В моем последнем обновлении я собиралсяперешлите этот вопрос в MS, когда мы поняли, что наш брандмауэр неправильно работает в разрешении имен.Таким образом, мы предположили, что это был виновник, и ожидали, что это разрешится.После того, как это было решено, у нас все еще были те же проблемы, и мы снова пересмотрели ситуацию.
Мы изолировали проблему в нашем процессе сборки, более конкретно, с помощью пользовательского кода, включенного в наше решение для сборки.
Я реализовал кодовую активность, которая включалась бы на последних шагах каждой сборки.Это занятие собирало BuildDetails
о выполняющейся сборке и добавляло их как новую строку в BuildLog.xls.
Реализация, использующая Microsoft.Office.Interop.Excel
.
Этот лист Excel находится на другом сервере (НЕна серверах, где находятся контроллер / агенты).
Во время разработки этого упражнения я сталкивался с такими проблемами, как this , но после этого ни один экземпляр EXCEL не оставался зависшим.Поэтому я подумал, что это было сделано и решено.
С помощью метода try & error мы заметили, что когда это действие не будет выполняться, проблем не будет.
При выполнении этого действия самая первая сборка послесброс контроллера сборки был бы успешным, любая следующая сборка имела определенный шанс на сбой.Как только любая сборка завершилась неудачно, никакая другая не будет успешной, пока не будет сброшен другой контроллер сборки.
У меня есть только общее представление о том, в чем проблема (вызов Excel является DCOM, службы TFS - WCF: КакЗемля им помешает ?! Почему это иногда бывает успешным, а иногда и неудачным?! ).
Предоставленная диагностика тоже не помогла, на самом деле они вводили нас в заблуждение в виде цикла, который продолжался месяцами.
Если якогда-нибудь найду время, я хотел бы аккуратно воспроизвести ошибку и сделать из нее вопрос о сбое сервера ...
После удаления этого действия это работает!Сейчас я искал в SO и нашел this , где Дж. Сондерс комментирует: " В общем, вы никогда не должны использовать Office Interop из серверной среды ".
Ирония в том, что как только вы дойдете до сути любой трудной проблемы, кажется, что вся вселенная знает об этом, кроме вас ...