utilizar - trabajando con svn




Buenas prácticas: entorno colaborativo, directorio Bin, SVN (4)

¿Cuáles son las mejores prácticas para verificar en 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?

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 desarrollador que descargue el tronco desde SVN, restaurar la base de datos DNN y tener todo simplemente 'trabajo' ...


¿Es esta una pregunta específica de .Net?

En general, la mejor práctica 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 que se refiere contiene binarios de terceros, en lugar de una compilación de su proyecto, ignore (¿voto abajo?) Este consejo.


Cualquier asamblea que se espera que esté 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.

Todas las demás asambleas 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 ensamblados en la carpeta raíz / Referencias relativamente. Estos .dlls se comprueban en subversión.

Aparte de eso, * / bin * / bin / * obj debería estar en tu ruta global de ignorar.

Con esta configuración, todas las referencias a ensamblajes se realizan a través del GAC (por lo que deben funcionar en todas las computadoras) o en relación con cada proyecto dentro de su solución.


Seguimos la práctica de utilizar 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.


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.





collaboration