Tenemos una solución de Visual Studio 2008 bajo el control de fuente VSS. La solución contiene muchas bibliotecas de clases, muchas de las cuales necesitan una referencia a un ensamblaje que no forma parte de la solución. Actualmente guardamos copias separadas de ese ensamblaje en cada proyecto, pero a medida que crece el número de proyectos, cada vez es más tedioso copiar las actualizaciones del ensamblaje externo. ¿Hay una mejor manera de tener una sola copia del ensamblaje en la solución y en el control de la fuente, que luego se puede referenciar en todos los proyectos?La mejor manera de referenciar una biblioteca externa en múltiples proyectos en una solución de Visual Studio
Respuesta
Cree una carpeta de "bibliotecas externas"/"lib"/"libraries" en la carpeta raíz, agréguela a las bibliotecas de control de origen y de referencia en proyectos desde allí. Con "Copiar local" en propiedades de referencia, el proyecto lo copiará automáticamente en su carpeta bin.
estructura de nuestro proyecto:
workspace
config
partial app configs goes here
lib
external libraries goes here
src
Domain
domainProjects
Infrastructure
infrastructureProjects
references 3rd party dll's from lib folder
UI
Tests
solutions
primaryUIapplication
references projects from "src" folder
domainLogic
etc.
En solución parece que:
_misc
config
tests
Domain
Infrastructure
UI
Aquí, aquí está VSS en toda su "gloria" con toda la "parte de la solución".
Volver al tema: no estoy seguro, pero primero agregue la carpeta lib
a su estructura de directorios, agréguela al control de fuente y luego intente agregar una Carpeta de solución a su solución, donde hará "Agregar elemento existente" para cada asamblea de terceros.
Arnis L. tiene la respuesta - pero me pregunto por qué muchos de sus proyectos tienen el mismo ¿dependencia? Si reestructuró sus proyectos para que solo uno de ellos tuviera esta dependencia, sería más fácil de administrar.
- 1. Carpetas o proyectos en una solución de Visual Studio?
- 2. ¿La mejor manera de trabajar con múltiples proyectos/soluciones en Visual Studio?
- 3. ¿Cómo se organiza una solución Java en múltiples proyectos, como en Visual Studio?
- 4. Visual Studio Solución grande
- 5. Referencias de Visual Studio Project dentro de la solución
- 6. Extensibilidad de Visual Studio, ¿cómo enumera los proyectos en una solución?
- 7. ¿Cuál es la mejor manera de usar SVN en la solución de Visual Studio 2010?
- 8. La mejor manera de comprar visual studio
- 9. Mejores prácticas para organizar una solución de Visual Studio
- 10. La mejor manera de agregar documentación de desarrollador a sus proyectos de Visual Studio
- 11. Número de clases en una solución de Visual Studio
- 12. ¿Cómo se divide una solución de Visual Studio?
- 13. Inicio de proyectos múltiples al depurar en Visual Studio 2010
- 14. VISUAL STUDIO 2010: Cómo generar todos los proyectos en una solución en el mismo directorio
- 15. ¿La mejor manera de estructurar un repositorio en Subversion para proyectos de Visual Studio?
- 16. ¿Cuál es el número óptimo de proyectos en una solución de Visual Studio 2008?
- 17. Visual Studio 2010: ¿Cómo aplicar el orden de compilación de proyectos en una solución?
- 18. Crear plantilla de solución de estudio visual - proyectos múltiples
- 19. Cómo convertir la solución visual studio 2010 SP1 en la solución visual studio 2012?
- 20. Cómo depurar una biblioteca externa (OpenCV) en Visual C++?
- 21. Incluyendo una biblioteca externa en el proyecto de Visual Studio 2010
- 22. Solución de Visual Studio para SCONS?
- 23. Múltiples Proyectos WCF vs Proyecto Único en la Solución
- 24. Visual Studio: ¿Una sola solución o muchas soluciones?
- 25. Cómo refactorizar grandes proyectos en visual studio
- 26. Visual Studio: ¿Hay una búsqueda incremental de toda la solución?
- 27. TypeScript: varios proyectos en la solución
- 28. Visual Studio: ¿Imprimir todos los archivos fuente en una solución?
- 29. equivalente de Java/Eclipse de la aplicación Visual Studio Console + solución de biblioteca de clases
- 30. Ejecución de dos proyectos a la vez en Visual Studio
NuGet fue diseñado para esto. – jnm2