Все,
В настоящее время я пытаюсь создать повторяемый процесс обновления установки TFS 2008 до нового оборудования, которое Microsoft называет обновлением миграции, но у меня возникают проблемы при сборке.проекты VS 2008 на новом оборудовании.
Наша установка TFS 2008 состоит из двух машин;одна содержит базы данных SQL и уровень приложений, а другая - выделенный сервер сборки.
Новое оборудование для нашей установки TFS 2010 состоит из двух машин;тот, который содержит базы данных SQL, уровень приложений, SharePoint и службы отчетов.
До сих пор мне удалось успешно повторить резервное копирование необходимых баз данных TFS с исходного сервера на новый сервер и восстановить их,затем команда «tfsconfig import» для успешного импорта и обновления баз данных в коллекцию командных проектов.Коллекция командных проектов отображается правильно, и ее можно сразу использовать.Все параметры безопасности, наборы полок, рабочие области и т. Д. Не повреждены.
Наши проблемы начинаются, когда мы начинаем пытаться создавать решения.Первоначально мы пытаемся создать эти решения, не обновляя их до формата VS 2010 и не изменяя целевой Framework любого из проектов.
При сборке различных проектов мы получаем следующие ошибки:
<имя файла> .resx (x, y): ошибка RG0000: Не удалось найти тип для имени.Имя типа было «System.Collections.Generic.List`1 [[<<класс>, <сборка>, версия = abcd, культура = нейтральная, PublicKeyToken = 9557797252b44220]], mscorlib, версия = 2.0.0.0, культура = нейтральная,PublicKeyToken = b77a5c561934e089.Линия х, позиция у.[<имя_файла проекта>]
ResGen: ошибка RG0000: Не удалось загрузить ссылочную сборку "<имя файла> .dll".Обнаружено исключение FileNotFoundException, говорящее «Не удалось загрузить файл или сборку« <имя файла> .dll 'или одну из ее зависимостей. Система не может найти указанный файл. ».[<имя_файла проекта>]
Различные «неоднозначные» целевые ссылки MSBuild при компиляции проектов, связанных с рабочим процессом:
C: \ Program Files (x86) \ MSBuild \ Microsoft \ Windows Workflow Foundation \ v3.5 \ Workflow.VisualBasic.Targets (153): 'GeneratedCodeAttribute' является неоднозначным в пространстве имен 'System.CodeDom.Compiler'.
Существуют различные предложения о том, как устранить эти проблемы, включая изменение 32-битного флага поддержки в ResGen или принудительное использование 64-битного ResGen, а также обновление проектов до формата VS 2010 и изменение их на целевой Framework4.
Проблема 1. можно исправить , изменив нарушающие проекты на целевой Framework 4, однако этот конкретный проект еще не может быть обновлен из-за проблем совместимости, и я пока не нашелрешение для вопросов 2. & 3.
У нас более 20 командных проектов, с несколькими ветвями в каждом, и поэтому (из-за объема работы, которую яnvolved) хотелось бы избегать ручного изменения всех проектов / решений (тем более, что некоторые продукты пока не могут быть обновлены до Framework 4 по соображениям совместимости, а создание целевых проектов Framework 3.5 в Framework 4 MSBuild выглядит не настолько совместимым, как нам бы хотелось, чтобы Microsoft поверила).
Если кто-нибудь имеет любые идеи, которые могут оказаться полезными, то пожалуйста сообщите мне.
Приветствия,
Antony
РЕДАКТИРОВАТЬ:
Проблема 1 была замечена другими людьми и относится к файлам ресурсов, ссылающимся на общие списки пользовательскихтип.Оказывается, в нашем проекте они были лишними, поэтому я просто удалил их, и эта проблема сборки стала историей.
Проблема 2, похоже, исчезла сама по себе, возможно, какрезультат исправления проблемы 1.
Проблема 3 относится к созданию проектов рабочих процессов VS2008 в MSBuild 4, когда они нацелены на Framework 3.5.Microsoft в своей бесконечной мудрости, по-видимому, решила не решать эту проблему ( Ссылка на сайт Connect ), и существует несколько идей для ее устранения (ссылки на конкретные версии Framework, изменение рабочего процесса сборки на использованиеMSBuild 3.5), ни один из которых не работает.
Таким образом, наше обновление до 2010 года приостановлено, как кажется, пока не появятся продукты, для которых мы создаем рабочие процессы 3.5 (CRM 4.0 и SharePoint 2007/ 2010) поддерживают Framework 4 или до тех пор, пока Microsoft не исправит проблему.
РЕДАКТИРОВАТЬ:
Microsoft признала, что существует проблема, иопубликовали следующую информацию, относящуюся к вышеуказанному номеру КБ: http://support.microsoft.com/kb/2023579