7

Nous avons une grande VS solution en utilisant des références de projet qui est construit par TFS construire comme ceci:TFSBuild/MSBuild et référence du projet vs Référence du fichier

Solution 
- Project 1 
- Project 2 
- Project ... 
- Project N 

Parce que la solution est trop importante, nous avons plusieurs solutions plus petites que nous utiliser un jour à:

SubSolution 
- Project 1 
- Project 19 

Le problème est que les développeurs travaillant sur considèrent que sous-solution ne construit pas parce que les références du projet n'a pas pu être trouvé, alors ils changent les projets d'utiliser des références de fichiers.

Cela continue alors pour casser la construction de TFS qui ne peut pas trouver ces références de dossier parce qu'elles n'ont pas encore été construites (même si les projets sont dans la même solution). Y a-t-il un moyen de contourner ce tiraillement entre les deux types de références? Quelle est la manière correcte de séparer vos solutions?

+0

Peut-être que vous pourriez essayer d'ajouter une dépendance (DependsOn) pour les sous-projets sur les principaux en cours de construction? – mfloryan

Répondre

2

Quelle est la manière correcte de scinder vos solutions?

Vérifiez ce chapitre du guide TFS par les modèles & équipe pratiques:

Chapter 3 - Structuring Projects and Solutions in Source Control

Portez une attention particulière à cette note au scénario "Solution partitionné" (que je vous crois » essayez d'implémenter réellement):

Contrairement aux versions précédentes de Visual Studio, Visual Studio 2005 repose sur MSBuild. Il est maintenant possible de créer des structures de solution qui n'incluent pas tous les projets référencés et qui continuent à générer sans erreurs. Tant que la solution principale a été construite en premier, en générant la sortie binaire de chaque projet, MSBuild est capable de suivre les références de projet en dehors des limites de votre solution et de construire avec succès. Cela ne fonctionne que si vous utilisez des références de projet, pas des références de fichiers. Vous pouvez créer des solutions créées de cette manière à partir de la ligne de commande Visual Studio et de l'EDI, mais pas avec Team Build par défaut. Pour construire avec succès avec Team Build, utilisez la solution maîtresse qui inclut tous les projets et dépendances.

2

Quelle que soit la façon dont vous organisez votre construction, Les développeurs doivent comprendre comment les références fonctionnent, et être au courant quand ils font des changements aux références qu'ils ne devraient pas vérifier ces changements dans à moins qu'ils ne visent à apporter une modification à le processus de construction. En ce qui concerne l'organisation de vos builds - comme le dit Dmytrol, les références de projet devraient fonctionner entre les solutions (tant que la cible est déjà construite, mais c'est aussi le cas pour les références de fichiers).

Mon conseil serait de regrouper vos projets en petites solutions réalisables et d'utiliser des références de projets dans ces solutions. Votre solution/fichier de construction peut également utiliser des références de projet, mais si vous trouvez des références de projet trop difficiles à gérer, vous pouvez utiliser des références de fichiers et contrôler l'ordre de construction via les dépendances de projet ou l'ordre de construction du projet. Studio en cliquant avec le bouton droit sur un projet dans votre solution).

Questions connexes