2010-06-06 21 views
5

En Visual Studio 2010, tengo el proyecto A (aplicación asp.net). Proyecto A hace referencia al proyecto B (biblioteca de clases). El proyecto B hace referencia al ensamblado C (referencia directa a un archivo DLL).Cómo copiar las dependencias del ensamblado al que se hace referencia a la carpeta del bin de salida de ASP.NET?

Al construir el proyecto A, solo los binarios del proyecto A y del proyecto B están presentes en el directorio/bin del proyecto A, pero no en el conjunto C. ¿Por qué? Si el proyecto B depende del conjunto C, ¿por qué el conjunto C no se copia junto a la carpeta de salida?

"copia local" ya está establecido en "true" para el montaje C.

Respuesta

1

que lograron solucionar el problema mediante la adición de esta variable a una clase en el proyecto B:

private Type t = typeof(SomeClassInAssemblyC); 

Ahora cuando construyo el proyecto A, ambos binarios B y montaje de proyectos DLL de C se copian en el directorio/bin del proyecto A.

+1

Otra cosa que noté es que si hace referencia a una DLL que está en su sistema de archivos y también se instala en el GAC, no se copiará en el directorio/bin cuando se construya el proyecto. – LeoD

2

Esto se debe a la biblioteca C se copiará en el directorio de salida de la biblioteca B y que el directorio es diferente de la biblioteca A. Si haces tanto A como B para compilar en el mismo directorio, verá la salida de la biblioteca C allí.

Cuestiones relacionadas