setup:
- вся разработка выполняется на виртуальных серверах (Win Server 2003)
- все компиляции выполняются в VS 2010
- весь код проверен в TFS 2010
Мы переносим наши решения с VS 2008 на VS 2010. Я создал ГЛАВНУЮ ветвь для размещения наших преобразованных проектов VS 2010.Затем я начал работать над переносом проектов с 2008 года. Компиляции были (в конце концов) успешными.Другой разработчик работал над другими проектами в той же ветке.
Затем все эти проекты компилировались также через TFS Build 2010.
Это наша ОСНОВНАЯ ветка.Затем другой разработчик создал папку ветви DEV и разветвил все решения из ветви MAIN в ветку DEV для дальнейшей разработки.
К нашему большому удивлению, мы обнаружили, что хотя мы можем скомпилировать код, если мы выполнимПолучите последние новости о ветке MAIN, когда мы получили последние новости о ветке DEV (предположительно, тот же код), * 1021 * некоторые из нас (назовем их неудачливыми разработчиками) получили массу ошибок, связанных сделать со ссылкой на проект, содержащийся в решении.Но два разработчика (к счастью) скомпилировали его просто отлично. Когда два неудачных скомпилировали отдельный проект (тот, который вызывает ошибку ссылки), он строится нормально, но когда мы строим решение или ссылочный проект,со ссылкой на этот проект происходит сбой.
Мы попытались стереть наше рабочее пространство и сделать код свежим - без радости.
Счастливый человек, создавший ветку, сделал то же самое (удалил их рабочее пространство, получил последнюю версию и запустил компиляцию), и он все еще компилируется.Затем у нас был разработчик, который не участвовал в миграции, выполнил последнюю задачу и запустил компиляцию.Их компиляция тоже прошла отлично!Это привело нас к мысли, что это должен быть компьютер.
Итак, один из неудачливых разработчиков вошел в одну из виртуальных версий удачливого разработчика, выполнил последнюю версию и собрал ее, используя свое собственное рабочее пространство.Это также не удалось.Так что у этого виртуального есть одно рабочее пространство под одним пользователем, которое успешно, и одно под другим пользователем, который не в состоянии скомпилировать для того же самого, получают последний в том же коде.
Тогда ... мы отсоединили рабочее рабочее пространство от счастливого разработчикаВиртуальный и один из несчастливых разработчиков, прикрепленных к нему (нет, просто скомпилируйте, что там).Это хорошо скомпилировано.
Так что у нас может быть какая-то особенность, связанная с несчастными разработчиками, из-за которых наши Gets будут другими.Одно из различий, которое я только что понял, состоит в том, что у нас двоих есть неудачные наборы полок, которые мы сохранили в TFS в версиях 2008 года (но в TFS 2010).
ОК, тогда ... тот же незадачливый разработчик уничтожил рабочее пространство счастливчика, удалив файлы, а затем выполнил включенные переключатели принудительной перезаписи get / latest / both.Это успешно скомпилировано !!
Затем он вернулся к своей первоначальной виртуальной машине.Он удалил файлы в своем рабочем пространстве и включил специальные / последние / оба переключателя принудительной перезаписи. Эта компиляция снова не удалась!
У нас заканчиваются идеи ...