Как узнать библиотеки DLL, на которые влияет регистрация в TFS 2012?

I'm currently working on a big project for a company and I'm stuck. We use TFS 2012, we have several branches (Dev => Main => pre-prod => prod).

Когда проект находится в prod, если ошибка возникает, мы делаем патч. Это означает, что мы поставляем только DDL, на которые влияет исправление ошибки.

Чтобы это сделать, разработчик, отвечающий за исправление ошибок, проверяет свой код и дает мне номер набора изменений, чтобы я мог знать, какие файлы подвержены проверке, и вывести DLL, которые должны быть доставлены.

И моя проблема здесь, как я могу узнать эти имена DLL благодаря номеру набора изменений? В настоящее время я разбираю все .csproj, и я ищу, находятся ли файлы, которые находятся в журнале изменений, в csproj. Если да, то я ищу AssemblyName (который дает мне имя DLL).

Но это не хорошо для меня, так как я разбираю его как String, он не переоценен и не эволюционирует.

Если у вас есть лучший способ (или даже что-то уже написанное :)), пройдите его, пожалуйста;)

Благодаря !

2
добавлено
Просмотры: 1
de
добавлено автор Frank van Puffelen, источник

2 ответы

Фактически вы должны развертывать все DLL, а не только Diff. Если у вас есть много отдельных компонентов для вашего приложения, тогда может быть целесообразно развернуть только один компонент, но для этого вам нужны конкретные интерфейсы.

Лучший способ добиться того, о чем вы говорите, - создать все ваши DLL, созданные одновременно, с помощью сервера сборки. Существует множество вариантов от TFS до Cruse Control и Hudson, но все они создают определенную «сборку» вашего программного обеспечения. У этого будут все файлы, необходимые для развертывания новой версии вашего пакета программного обеспечения (как вам нравится), и дает вам уверенность в том, что все работает вместе, поскольку вы будете нажимать сборку, не перекомпилируя или не меняя библиотеки DLL, через каждую вашу сцену (Dev, test, QA, PreProd) и в производство.

Когда вы исправляете ошибку, даже если она только запускает одну DLL, вы должны развернуть все свои DLL, поскольку они, как известно, работают вместе в этом пакете.

Это не то, что есть или может быть разрешено ветвями или наборами изменений. Вам нужны сборки ...

0
добавлено
Большое вам спасибо за подробный ответ MrHinsh, я собираюсь задуматься о нашем процессе.
добавлено автор Drizzy, источник

У меня есть много компонентов для моего приложения.

Проблема в том, что некоторые DLL-файлы находятся в нескольких компонентах. Действительно, они не являются абсолютно независимыми.

Кроме того, в приложении есть 2 основных кирпича (состоящих из множества маленьких кирпичей): Launcher + AppFabric. Launcher - клиентское приложение, а AppFabric - серверная. Моя цель - развернуть только кирпич, который изменился со времени последней сборки.

Таким образом, мой вопрос: как вы посоветуете развернуть это приложение, независимо от того, где находятся библиотеки DLL, потому что это будет означать возврат в начале и разбор всех .csproj и т. Д.??

FYI: приложение, в котором я развертываю весы ~ 175Mo (10 разработчиков + 5 функционалов), это действительно большой проект, который находится в разработке уже 6 лет.

0
добавлено