2010-09-22 7 views
3

Comment gérez-vous les bibliothèques externes dans les projets .NET (C#)?Comment gérer les bibliothèques externes dans le contrôle de source?

de scénario possible pourrait être:

  1. Mettre la bibliothèque externe dans le contrôle source
  2. Mettez la bibliothèque externe sur un serveur de fichiers et de créer un script de copie et ajouter ce script pour le contrôle des sources

Je recommande de mettre des libs externes sur un serveur de fichiers, de créer un script de copie locale et de le mapper sur un lecteur de remplacement (lecteur R par exemple) et de référencer chaque lib avec son nom et versionnr; par exemple ou R:\YourLib\V1.3.2.1\yourlib.dll. Le script copy-local copie les 2 fichiers d'un serveur de fichiers partagé à R:

Répondre

4

En supposant que les assemblys ne proviennent pas de .NET Framework, j'irais chercher la première solution. Grâce à cette solution, vous pouvez tout avoir en un seul endroit et les versions s'en tiennent à une révision spécifique de votre application.

Avoir tout sur un serveur ajoute de nombreuses dépendances externes à votre projet. Tout le monde dans l'équipe doit avoir accès à l'endroit où vous stockez les fichiers. Que se passe-t-il si vous travaillez de la maison sans accès au serveur, etc.

+0

Eh bien .. avoir accès à la maison à une instance TFS devrait être un problème alors aussi ... –

+0

Eh bien ... il devrait être possible de travailler hors ligne dans le TFS ... http://stackoverflow.com/questions/313653/work-offline-in-team-foundation-server –

+1

Lorsque vous travaillez hors ligne, vous avez déjà copié les binaires localement dans votre propre espace de travail, donc ça ne devrait pas poser de problème alors –

7

Placez la bibliothèque externe dans un dossier local lib dans votre projet. De cette façon, chaque projet est autonome.

+4

+1 pour l'auto-confinement. Si un nouveau développeur rejoint votre projet, get-latestversion + build devrait fonctionner immédiatement – stombeur

0

Je place généralement les bibliothèques dans un dossier lib dans le dossier de la solution. Si ces bibliothèques sont open-source, j'utilise également la fonctionnalité svn:externals pour les maintenir à jour

Questions connexes