Как работать со сторонними библиотеками в TFS 2010 - PullRequest
1 голос
/ 14 декабря 2011

На моей работе мы только начинаем использовать TFS с нашей командой из 4 разработчиков и в то же время переходим от отдельных проектов разработчиков к групповым проектам.В основном мы используем настройки по умолчанию в TFS

. Я был первым, кто запустил простой проект Silverlight MVVM, состоящий из решения с Silverlight и веб-проекта.

Когда мой товарищ по командевытащил мой код и попытался скомпилировать, он столкнулся со многими недостающими ссылками (.dll), Expression blend SDK, инструментарием Ria Services, элементами управления Telerik, простым инструментарием mvvm, инструментарием silverlight и т. д.Что нам нужно сделать, чтобы добавить в TFS проекты, в которых есть все необходимое для его компиляции, когда следующий разработчик завершит работу?

1 Ответ

5 голосов
/ 14 декабря 2011

Не очень хороший способ сделать все это автоматически.Что бы вы обычно делали так:

  • в вашей ветви создайте папку bin рядом с вашей папкой src.
  • в папке bin создайте папки для каждого компонента, на который вы полагаетесьна
  • в каждой папке поместите настройку или ссылку на настройку
  • в каждой папке поместите двоичные файлы, которые вы используете в своем решении
  • , в каждую папку поместитеПрочитайте все ручные шаги, которые необходимо выполнить
  • . При желании вы можете создать сценарий powershell или пакетный файл, который установит все необходимые компоненты. не слишком сложно определить, установлено ли уже приложение с помощью powershell и wmi

Теперь вам нужно исправить несколько вещей в своем решении:

  • убедитесь, что ваши ссылки не указывают на GAC, но они указывают на сборки внутри папки bin вашей ветви
  • , убедитесь, что все пути относительно решения,Любые пути c: ... не будут переноситься из одной системы в другую

Я обнаружил, что самый простой способ сделать это - выгрузить проект в Visual Studio и затем отредактировать его.Затем вы можете быстро добавить hintpath="..\..\..\bin\component атрибутов к каждой ссылке.Есть несколько блогов по по этой теме , которые предоставляют различные решения, которые решают эту же проблему.

Эта установка позволяет вам по крайней мере получить самую последнюю версию любогорешение и построить его без необходимости установки каких-либо инструментов.Если некоторые из ваших компонентов зависят от надстроек Visual Studio, то разработчики этих инструментов обычно не работают, но, по крайней мере, вы можете их создавать.

Часто используемая альтернатива - созданиеБазовый образ виртуальной машины для вашего проекта и установите на него все необходимые компоненты.Затем скопируйте изображение на каждую рабочую станцию ​​разработчиков и выполните sysprep, чтобы у всех было уникальное имя и идентификаторы.Когда проекту необходимо обновить свои зависимости, позвольте одному разработчику создать новый чистый компьютер и перераспределить его всем членам команды.

Если вы используете Windows Server Virtualization или VMWare, довольно просто создать разностный код.диски и позволяют разработчикам получать доступ к этим изображениям удаленно.

Другой подход заключается в использовании NuGet и сценария NuGet с использованием сценария powershell для вашего решения.Это будет работать в большинстве случаев, но такие продукты, как Expression Blend, по-прежнему необходимо устанавливать отдельно.

...