Поделиться через


Разрешение проблем, который могут возникать при обновлении

При обновлении до версии Visual Studio Team Foundation Server 2013 с более ранних версий Team Foundation Server, возможно, потребуется решить некоторые проблемы, чтобы продолжить использование более старых командных проектов, процессов сборки, серверов сборок и версий Visual Studio.

Выберите действие.

  • Запуск более ранних процессов сборки

    • Использование более раннего шаблона процесса сборки для сборки определенных типов приложений

    • Запуск более раннего процесса сборки, использующего пользовательские действия

    • Запуск более раннего процесса сборки на основе пользовательского шаблона, созданного или отредактированного с помощью Visual Studio 2010

  • Использование более ранних версий Visual Studio

  • Использование более ранних серверов сборки

  • Работа в командных проектах, размещенных в Visual Studio Online

Запуск более ранних процессов сборки

После обновления до Visual Studio Team Foundation Server 2013 вы можете продолжить использовать более ранние процессы сборки.

Совет

Можно продолжать использовать определения сборки (и даже создавать новые), основанные на более ранних шаблонах процессов сборки, но во многих случаях новые шаблоны по умолчанию позволяют получить лучшие результаты.

В некоторых случаях для правильной работы более раннего процесса сборки в Visual Studio Team Foundation Server 2013 необходимо выполнить определенные действия.

Использование более раннего шаблона процесса сборки для сборки определенных типов приложений Visual Studio Team Foundation Server 2013

Если шаблон процесса сборки взят из более ранней версии TFS, возможно, потребуется его отредактировать и изменить свойство действия MSBuild. Если на сервере сборки выполняется:

  • Visual Studio Team Foundation Server 2013, то задайте свойству действия ToolVersion MSBuild значение 12.0;

  • Visual Studio Team Foundation Server 2012, то задайте свойству ToolPath MSBuild значение пути к MSBuild 12. Как правило, путь будет следующим: C:\Program Files (x86)\MSBuild\12.0\Bin\ (32-разрядная версия) или C:\Program Files (x86)\MSBuild\12.0\Bin\amd64 (64-разрядная версия). Необходимо также установить Visual Studio 2013 в агенте сборки.

Запуск более раннего процесса сборки, использующего пользовательские действия

Для запуска процесса сборки, который использует пользовательские действия процесса сборки, сначала необходимо перекомпилировать действия с помощью .NET Framework 4.5.1 (например, используя Visual Studio 2013 или Visual Studio Team Foundation Server 2013 Team Foundation Build), а затем проверить их в папке системы управления версиями, указанной контроллером сборки. При попытке запуска процесса сборки, в котором используются пользовательские действия сборки, компилированные с помощью более ранней версии платформы .NET Framework, может появиться следующее сообщение в журнале результатов сборки: "Задание свойства "Microsoft.TeamFoundation.Build.Workflow.Activities.SyncWorkspace.RequestsFailed" вызвало исключение".

Запуск более раннего процесса сборки на основе пользовательского шаблона

Редактировать шаблоны процессов сборки можно только в Visual Studio 2013. Если шаблон процесса сборки был изменен с помощью Visual Studio 2010, необходимо просмотреть код и удалить все ссылки со строгими именами на пространства имен Microsoft.TeamFoundation из элемента "Действие".

Например, необходимо удалить такие строки:

xmlns:mtvc="clr-namespace:Microsoft.TeamFoundation.VersionControl.Client;assembly=Microsoft.TeamFoundation.VersionControl.Client, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"

и оставить такие строки:

xmlns:mtvc1="clr-namespace:Microsoft.TeamFoundation.VersionControl.Client;assembly=Microsoft.TeamFoundation.VersionControl.Client"

Если этого не сделать, может отобразиться следующее сообщение: Error 7 Compiler error(s) encountered processing expression "Workspace". Value of type 'Microsoft.TeamFoundation.VersionControl.Client.Workspace' cannot be converted to 'Microsoft.TeamFoundation.VersionControl.Client.Workspace'. Type mismatch could be due to…

Совет

Джейсон Прикет опубликовал некоторые сведения и некоторый исходный код, чтобы автоматически удалять эти проблемные строки из шаблона процесса сборки.См. статьи Upgrading your build definitions from TFS2010 to TFS2012 (Обновление определений сборки с TFS2010 до TFS2012) и TFS 2012 – Cleaning up Workflow XAML files (AKA removing versioned namespaces) (TFS 2012 — очистка XAML-файлов рабочего процесса).

Использование более ранних версий Visual Studio

Если вы используете Visual Studio 2010 или Visual Studio 2012 (RTM-выпуски или выпуски с последними обновлениями), вы

  • можете ставить в очередь определения сборок шаблона по умолчанию Visual Studio Team Foundation Server 2013;

  • не можете изменять параметры (при постановке в очередь или редактировании) или редактировать шаблон по умолчанию Visual Studio Team Foundation Server 2013;

  • можете изменять параметры (при постановке в очередь или редактировании) и редактировать шаблоны по умолчанию Team Foundation Server 2010 и Team Foundation Server 2012, соответственно.

Использование более ранних серверов сборки

Можно подключить сервер TFBuild 2010 или TFBuild 2012 к локальному серверу уровня приложений Visual Studio Team Foundation Server 2013. Невозможно запустить TFBuild Visual Studio Team Foundation Server 2013 на том же компьютере, что и TFBuild 2012 или TFBuild 2010. См. раздел Развертывание и настройка сервера сборки.

Сборки процессов по умолчанию Visual Studio Team Foundation Server 2013 могут выполняться только на серверах сборки Visual Studio Team Foundation Server 2013. Они не могут выполняться на более ранних серверах сборки.

На агенте сборки необходимо установить версию Visual Studio, используемую командой на компьютерах разработки.

Работа в командных проектах, размещенных в Visual Studio Online

Возможно, вам придется столкнуться с некоторыми проблемами, если ваш командный проект размещается в среде Visual Studio Online.