Question

Quelles sont les meilleures pratiques pour vérifier les répertoires BIN dans un environnement de développement collaboratif utilisant SVN ?Les références au niveau du projet doivent-elles être exclues de l’enregistrement ?Est-il plus facile d’ajouter simplement tous les répertoires bin ?

Je développe beaucoup de sites DotNetNuke et il semble que dans un environnement multi-développeurs, c'est toujours une tâche énorme de configurer correctement l'environnement.

Le but ultime (bien sûr) est qu'un nouveau développeur vérifie le tronc de SVN, restaure la base de données DNN et que tout « fonctionne »...

Était-ce utile?

La solution

Toutes les assemblées qui sont censées faire partie du GAC doivent rester au sein du GAC.Cela inclut System.web.dll ou toute autre DLL tierce que vous déployerez sur le GAC en production.Cela signifie qu'un nouveau développeur devra installer ces assemblys.

Tous les autres assemblys tiers doivent être des références via un chemin relatif.Ma structure typique est la suivante :

-Project
--Project.sln
--References
---StructureMap.dll
---NUnit.dll
---System.Web.Mvc.dll
--Project.Web
---Project.Web.Proj
---Project.Web.Proj files
--Project
---Project.Proj
---Project.Proj files

Project.Web et Project référencent relativement les assemblys dans le dossier racine/Références.Ces fichiers .dll sont archivés dans Subversion.

En dehors de cela, */bin */bin/* obj devrait être dans votre chemin d'ignorance global.

Avec cette configuration, toutes les références aux assemblys se font soit via le GAC (et devraient donc fonctionner sur tous les ordinateurs), soit par rapport à chaque projet de votre solution.

Autres conseils

Est-ce une question spécifique à .Net ?

En général, la meilleure pratique consiste à ne pas archiver tout ce qui est construit automatiquement à partir de fichiers déjà présents dans SCM.Tout cela est idéalement créé dans le cadre de votre processus de construction automatique.

Si la bin Le répertoire auquel vous faites référence contient des binaires tiers, plutôt qu'une version de votre projet, ignorez (votez contre ?) ce conseil.

Arboriculteur est un excellent outil qui crée une arborescence de développement .NET vide.Il a été peaufiné au fil des années d’utilisation et met en œuvre de nombreuses bonnes pratiques.

Maven m'aide beaucoup à résoudre ce problème lorsque je code Java.Nous validons le pom.xml dans le scs et le référentiel maven contient toutes nos dépendances.Pour moi, cela semble être une bonne façon de procéder.

Nous suivons la pratique consistant à utiliser un répertoire de fournisseurs qui contient tous les en-têtes et binaires spécifiques au fournisseur.L'objectif est que n'importe qui puisse créer le produit simplement en le vérifiant et en exécutant un script de construction de niveau supérieur.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top