2011-02-11 15 views
36

Quiero tener una carpeta de biblioteca que almacena todos mis archivos DLL. Lo que estoy haciendo actualmente es como se sugiere here. Tener una carpeta física, crear una carpeta de solución, copiar los archivos.Almacenamiento de referencia DLL en la carpeta solución de Visual Studio

Si uso SVN, tendré que usar tortuga en el explorador de archivos para agregar la biblioteca. No estoy seguro de si voy a tener que hacer lo mismo en TFS.

¿En vs 2010, hay alguna manera más fácil de hacer esto? Quiero ser capaz de arrastrar un dll a la carpeta de la biblioteca dentro de Visual Studio y ponerlo físicamente en la carpeta.

Respuesta

65

Esta es la forma en que lo hago. No estoy seguro de si hay alguna otra manera mejor:

  1. Haga clic derecho en la solución desde el Explorador de soluciones. Pase el cursor sobre "Agregar" y seleccione "Nueva carpeta de soluciones". No es realmente una carpeta y no apunta a ninguna carpeta física. Es una construcción abstracta para agrupar proyectos dentro de una solución, pero la usaremos para otra cosa.
  2. Llámalo algo así como "Conjuntos referenciados".
  3. A continuación, haga clic de nuevo en su solución y haga clic en "Abrir carpeta en Windows Explorer". En la ventana Explorador de Windows que aparece añadir una nueva "carpeta física" (esto se encuentra justo debajo carpeta raíz de la solución).
  4. Puede llamarlo "Ensambles referenciados" para que la Carpeta de solución y la Carpeta física compartan el mismo nombre para evitar confusiones.
  5. agarrar todos los DLL de acecho en todas partes (es decir, el AjaxControlToolkit.dll o la DocumentFormat.OpenXml.dll enterrado en archivos de programa) y copiar (no arrastre - mantener los originales en los que son ) en ellas la carpeta "Asambleas referenciadas" en Windows Explorer (NO EN LA SOLUCIÓN).
  6. Ahora puede arrastrar esos dll copiados de la carpeta física " de las Asambleas referenciadas" en el Explorador de Windows a la Carpeta de soluciones de "Asistentes de referencia" en el Explorador de soluciones de Visual Studio.
  7. Revise cada proyecto en su solución y elimine todas las referencias a los ensamblados a los que hará referencia desde la carpeta "Asignatarios referenciados ".
  8. Agregue las referencias en, pero esta vez (en el proyecto) haga clic derecho en "Referencias", haga clic en "Agregar referencia ...", seleccione la ficha "Buscar", haga clic en el icono de la carpeta con el verde Flecha (dice "Arriba Un nivel" al pasar el puntero sobre ella), haga doble clic en la carpeta "Referencia Assemblies", seleccione todos los dll's que desee referencia y haga clic en "Aceptar".

Ya ha terminado. Ahora que su solución conoce estos dll y dónde encontrarlos, cuando ingresa su código (a través de SVN, TFS o lo que sea), los empujará hacia arriba y los copiará para que otros los utilicen.

Si está utilizando TortiseSVN no tiene que hacer nada si también está utilizando AnkhSVN plug-in for Visual Studio. Estudia su archivo de solución (al igual que TFS) para encontrar los archivos a los que hace referencia la solución.En este caso, retomará el nuevo archivo DLL al que hace referencia la Carpeta de soluciones "Asignaciones referenciadas" y agregará automáticamente el seguimiento de control de origen antes de comprometerlos (es decir, si confirma los cambios de solución desde el Explorador de soluciones en Visual Studio como yo lo hago)

Espero que esto ayude.

+3

Así es como yo también hago el mío actualmente. 50 dólares añaden una mejor manera de hacer esta función en vs2020 ... (x_x) –

+1

Tenga en cuenta que no puede simplemente arrastrar carpetas a una carpeta de solución. Por lo tanto, debe crear una estructura de árbol (con carpetas de solución secundaria) que refleje las carpetas del sistema de archivos. Esto es un poco incómodo, pero eso es una limitación incorporada de VS. –

+0

@RonKlein No estoy seguro de lo que quiere decir. Nunca digo arrastrar carpetas a la carpeta de soluciones. Mi proceso funciona y probablemente sea el mismo método que usas. – MikeTeeVee

Cuestiones relacionadas