Referencia DLL que no se copia en la papelera del proyecto


Proyecto de Un referencias Proyecto B, y Proyecto B referencias externas DDL (restaurado usando NuGet). El DLL debe ser copiado en Proyecto A'carpeta s bin (junto con Proyecto B's DLL):

Referencias DLL Copiadas A Bin

En mi caso, al ejecutar Proyecto A, Me sale la siguiente excepción lanzada:

No se pudo cargar el archivo o el ensamblaje 'PostSharp, Version = 3.2.18.0, Culture = neutral, PublicKeyToken = b13fd38b8f9c99d7 ' o uno de sus dependencia. El sistema no puede encontrar el archivo especificado.

El DLL no se está copiando en Proyecto A's bin. Todas las demás referencias externas de Proyecto B están siendo copiados a través de muy bien, que es lo que es confuso para mí.

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

Copiar Referencia Local

¿Cómo hago esto?

Nota: Uso de Visual Studio 2013.

Author: davenewza, 2014-05-08

2 answers

Las opciones que encontré fueron:

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

No me gusta ninguna de las soluciones anteriores. Son hacks en mi opinión y solo harán que sea una solución más inalcanzable a largo plazo.

He solucionado el problema usando un directorio de salida común. Este parece ser una solución recomendada por muchos. También he experimentado tiempos de construcción mucho más rápidos. Ver este post de Stackoverflow.

 19
Author: davenewza,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 11:54:56

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.

 0
Author: AbleArcher,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-03-02 16:42:06