visual una studio solucion que proyectos proyecto introduccion hechos funciona examples entorno como c# .net visual-studio .net-assembly solution

c# - una - visual basic proyectos hechos



Referencia de DLL que no se copia en el contenedor del proyecto (2)

Cuando me encontré con este problema fue porque cambié el nombre de un proyecto, pero no cambié el nombre del ensamblado; era idéntico al nombre del ensamblado de otro proyecto en la solución.

El Proyecto A hace referencia al Proyecto B y el Proyecto B hace referencia a un DDL externo (restaurado con NuGet). La DLL debería copiarse en la carpeta bin del Proyecto A (junto con la DLL del Proyecto B ):

En mi caso, cuando ejecuto el Proyecto A , recibo la siguiente excepción:

No se pudo cargar el archivo o ensamblado ''PostSharp, Versión = 3.2.18.0, Cultura = neutral, PublicKeyToken = b13fd38b8f9c99d7'' o una de sus dependencias. El sistema no puede encontrar el archivo especificado.

La DLL no se está copiando en el contenedor del Proyecto A. Todas las otras referencias externas del Proyecto B se están copiando a través de muy bien, que es lo que es confuso para mí.

Copy Local se establece en verdadero para todas las referencias involucradas. Ejemplo:

¿Cómo hago esto?

Nota: Usando Visual Studio 2013.


Las opciones que encontré fueron para:

  • Agregue una referencia a PostSharp en el Proyecto A.
  • Agregue código ficticio en el Proyecto B para que el compilador detecte que la referencia se está utilizando.
  • Agregue un evento de compilación para forzar la copia de la DLL.

No me gusta ninguna de las soluciones anteriores. En mi opinión, son hacks y, a la larga, solo servirán para una solución más inmanejable.

He solucionado el problema utilizando un directorio de salida común. Esta parece ser una solución recomendada por muchos. También he experimentado tiempos de compilación mucho más rápidos. Mira esta publicación de .