una tag ruta puede parte net for encontrar asp acceso asp.net reference shared-libraries assemblies web-site-project

asp.net - tag - no se puede encontrar una parte de la ruta de acceso bin roslyn csc exe



Directorio BIN del sitio web ASP.NET y referencias (3)

Imagine la siguiente solución:

  • Sitio web ABC.com (no aplicación web)
  • BLL (capa de lógica de negocios en un conjunto separado)
  • DTO (objetos dto en su propio conjunto)
  • DAL (capa de acceso a datos en su propio ensamblaje también).

    1. El BLL tiene una referencia al DAL.
    2. El BLL tiene una referencia a la capa DTO.
    3. El proyecto del sitio web hace referencia al BLL.

Cuando uno compila el proyecto del sitio web, las siguientes DLL aparecerán en el directorio BIN:
BLL.dll
DTO.dll
DAL.dll

Cuando uno va a obtener una vista previa del sitio, se produce un error acerca de no tener las referencias de ensamblaje necesarias ... Ahora, si hace clic derecho en el proyecto del sitio web, Agregar referencia y agrega explícitamente la referencia a los ensamblados faltantes, funcionará bien.

Me parece que ASP.NET extrae / referencia los ensamblados a los que se hace referencia en el ensamblado al que se hace referencia en el sitio web.

¿Por qué es necesario agregar referencias explícitas a las referencias de las referencias ...? Lo siento si no estoy redactando esto correctamente o si es confuso.


Aquí hay un buen artículo sobre tu pregunta Compilación y Despliegue .

Tiene algo que ver con la compilación de "WebSites" en tiempo de ejecución. Con suerte, el artículo anterior responderá a su pregunta.


Creo que el problema puede tener que ver con el uso de un proyecto de sitio web, como se opone a una aplicación web. No puedo recordar de memoria, pero hay algo funky en la forma en que se compilan los proyectos de sitios web, ya que se oponen a los proyectos de aplicaciones web.


Acabo de probar este escenario hoy para el proyecto en el que estoy. Debería estar bien simplemente agregando su ensamblado en Web.config como:

<compilation debug="true"> <assemblies> <clear/> <add assembly="mscorlib"/> <add assembly="System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/> <add assembly="System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/> <add assembly="System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/> <add assembly="System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/> <add assembly="YourBLLLib, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"/> </assemblies> </compilation>

Además, sus ensamblajes deben permanecer en la famosa carpeta ./bin del directorio raíz de su sitio web. GL!