2009-05-15 11 views
5

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

+0

NuGet fue diseñado para esto. – jnm2

Respuesta

5

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  
1

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.

1

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.

Cuestiones relacionadas