¿Cómo usar ensamblajes en una solución VS bajo control de código fuente y mantener los ensamblajes actualizados?

(Ya no quiero una respuesta. OML, mi inglés seguramente ha mejorado...)

¿Cómo usar ensamblajes en una solución VS bajo control de código fuente y mantener los ensamblajes actualizados? (El control de código fuente lo proporciona el codeplex y las opciones predeterminadas de VS). Quiero decir, tengo un proyecto llamado HyperAero. Tengo otro proyecto llamado TestAnimation. TestAnimation está bajo control de fuente y necesita hiperaero. Cuando me registre, HyperAero.DLL no se guardará en el servidor. Por supuesto, puedo agregar hyperaero.dll a mi solución como un archivo, pero quiero que se mantenga actualizado con mis cambios en el proyecto HyperAero automáticamente. ¿Qué tengo que hacer? Respuesta (lo tengo yo mismo): comando: robocopy "E:\Documents\My VS\Fix soft HyperAero Form\Fix soft HyperAero\bin\Release" "E:\Documents\My VS\Fix soft Animation Maker\Test of Animation Maker \DLLs" "*.DLL" establecer rce=%errorlevel% si no %rce%==1 salir %rce% de lo contrario salir 0

Pregunta similar (recuerde que quiero que mis ensamblajes se mantengan actualizados): al usar ensamblajes personalizados en un proyecto de Visual Studio. ¿Cómo se verifican esos ensamblajes en el control de código fuente con el proyecto para que cualquiera pueda descargar el proyecto y compilarlo de inmediato?

preguntado el 22 de mayo de 12 a las 13:05

Esto depende en gran medida del tipo de sistema de control de fuente que esté utilizando. Y no has especificado cuál es. -

3 Respuestas

Hay dos formas de abordar esto:

1/ No coloque las dependencias de ensamblaje en el control de código fuente y siempre incluya en su solución su proyecto de Visual Studio en su lugar. En su caso, tendría una solución con el proyecto Hyperaero y el proyecto TestAnimation con un dependencia del proyecto al proyecto Hyperaero.

De esta manera, no tiene que poner la DLL generada en el control de código fuente y mantenerla actualizada cada vez que cambie algo en el código.

2/ Si realmente desea disociar ambos proyectos, le recomendaré que use Nuget y cree un paquete Nuget para el proyecto Hyperaero y luego haga referencia al paquete Nuget en su proyecto TestAnimation. Este enfoque es el más limpio, pero puede ser excesivo y, por último, no es algo que configurará rápidamente (en comparación con 1/).

contestado el 22 de mayo de 12 a las 14:05

  1. Coloque ambos proyectos en la misma solución y agregue una referencia de proyecto.

  2. Utilice la interfaz de usuario o la línea de comandos de su control de código fuente para agregar los archivos DLL.

contestado el 22 de mayo de 12 a las 13:05

¿Qué software de control de fuente usas?

Si está utilizando subversion:

  • ankhsvn (complemento de Visual Studio) puede manejar varios repositorios en una sola solución.

Tengo la siguiente estructura.

- App1\
  App1.sln
  App1Forms\
    App1Forms.csprj
- App2\
  App2Dll\
    App2Dll.csprj

Ahora, si abro App1.sln y agrego App2Dll, que está fuera de la estructura de carpetas, como proyecto, el proyecto se vincula como una ruta relativa. Estoy bien, si consulto ambas fuentes en el mismo directorio principal.

Ankh es consciente de eso y si golpeo update ambos proyectos se actualizan. Si quiero realizar cambios, solo puedo realizar cambios en un repositorio a la vez, pero nuevamente, ankh me informa sobre eso.

Otra forma es usar svn-externals http://svnbook.red-bean.com/en/1.0/ch07s03.html que incluirá de forma transparente un repositorio dentro de otro.

contestado el 22 de mayo de 12 a las 13:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.