El miembro de mi equipo agregó una reference a un DLL de un tercero e hizo un check-in … ahora no puedo build

Mi miembro del equipo hizo una reference a un file DLL en su unidad local (por ejemplo, C:\mystuff\thirdparty.dll ) y verificó en el proyecto con la reference. Actualicé mi copy local del proyecto y ahora tengo una reference incompleta: <The system cannot find the reference specified> . Tengo el thirdparty.dll en mi máquina local, pero no está en el mismo directory que tenía mi miembro del equipo.

¿Deberíamos comprobar en thirdparty.dll en sí mismo en el control de código fuente bajo nuestra solución en un subdirectory utilizando la ruta relativa? Cuando otro desarrollador obtiene el proyecto, ¿desplegará la DLL y funcionará automáticamente incluso si el desarrollador no "instaló" la DLL de antemano?

Gracias.

Si crea un directory "lib" o "ensambles" en la solución, o al less en el proyecto de control de código fuente, y agrega todos los ensamblados de terceros y los reference allí, debería eliminar muchos problemas como el suyo.

En general, no tendrá que usar el instalador de terceros, pero eso dependerá del producto.

Vea la respuesta que acabo de dar a esta pregunta:

http://sofes.miximages.com/questions/666597/tfs-c-vs2008-how-to-deal-with-external-assemblies/666623#666623

Básicamente, debe agregar el file DLL al control de origen y hacer reference a él utilizando la reference de file, de modo que la ruta relativa del file al dll sea la misma para todos los desarrolladores de su equipo.

Según mi experiencia, la mejor manera es establecer una ruta relativa a la DLL a la que se hace reference en un directory común. Por ejemplo, dada la siguiente estructura:

  • Gran proyecto
    • Proyecto 1
    • Proyecto 2
    • Proyecto N
    • Compartimiento

Tengo todos mis proyectos comstackdos en la carpeta bin, y todos los proyectos hacen reference a sus dependencies desde la carpeta bin. Cualquiera puede desplegar el proyecto en CUALQUIER location y comstackr la primera vez.