2008-08-01 16 views
26

¿Cuáles son las mejores prácticas para registrar directorios BIN en un entorno de desarrollo colaborativo utilizando SVN? ¿Deben excluirse las referencias a nivel de proyecto del registro? ¿Es más fácil simplemente agregar todos los directorios bin?Práctica recomendada: Entorno colaborativo, directorio Bin, SVN

Desarrollo muchos sitios DotNetNuke y parece que en un entorno de múltiples desarrolladores, siempre es una gran tarea configurar correctamente el entorno.

El objetivo final (por supuesto) es tener un nuevo pago y envío desarrollador del tronco de SVN, restaurar la base de DNN y tienen todo sólo 'trabajo' ...

Respuesta

19

Cualquier ensamblados que se espera que estén en el GAC debe permanecer en el GAC. Esto incluye System.web.dll o cualquier otra dll de terceros que implementará en el GAC en producción. Esto significa que un nuevo desarrollador tendría que instalar estos conjuntos.

Todos los demás conjuntos de terceros deben ser referencias a través de una ruta relativa. Mi estructura típica es:

-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 y Project hacen referencia a los conjuntos en la carpeta raíz/Referencias relativamente. Estos .dlls se comprueban en subversión.

Aparte de eso, */bin */bin/* obj debe estar en su ruta global de ignorar.

Con esta configuración, todas las referencias a los ensamblados son a través del GAC (por lo que deberían funcionar en todas las computadoras), o relativo a cada proyecto dentro de su solución.

4

¿Es esta una pregunta específica .Net?

En general, lo mejor es no registrar nada que se haya generado automáticamente a partir de archivos que ya están en SCM. Todo eso está idealmente creado como parte de su proceso de compilación automático.

Si el directorio bin al que hace referencia contiene binarios de terceros, en lugar de una compilación de su proyecto, ignore (¿voto a favor?) Este consejo.

2

Maven ayuda bastante con este problema cuando estoy codificando java. Comprometemos el pom.xml con el scs y el repositorio maven contiene todas nuestras dependencias. Para mí eso me parece una buena manera de hacerlo.

1

Seguimos la práctica de usar un directorio de proveedores que contiene todos los encabezados y binarios específicos del proveedor. El objetivo es que cualquiera pueda construir el producto con solo echarle un vistazo y ejecutar un script de compilación de alto nivel.

4

Tree Surgeon es una gran herramienta que crea un árbol de desarrollo .NET vacío. Ha sido modificado durante años de uso e implementa muchas de las mejores prácticas.

Cuestiones relacionadas