2009-07-17 21 views
10

¿Dónde se almacenan las referencias de ensamblaje para una aplicación web?¿Dónde se almacenan las referencias del conjunto de proyectos de aplicaciones web?

En un sitio web, veo las etiquetas de ensamblaje escritas en el nodo de ensamblaje en el web.config cuando agrega una referencia. Solo tengo curiosidad sobre cómo el Proyecto de Aplicación Web realiza la conexión para obtener el dll local correcto.

Agregué manualmente la referencia y las compilaciones de la aplicación, pero el dll no se importa a la carpeta BIN, y los nodos de ensamblaje no se crean en la configuración web como en un sitio web. Hago una búsqueda de solución para el texto 'assembly =' SomeAssembly ... 'y no se encuentran resultados.

Tengo curiosidad ya que estoy tratando de centralizar la actualización de las referencias de ensamblaje ya que un tercero proveedor de control publica las revisiones regularmente y terminamos teniendo que buscar y actualizar todas las referencias de página individuales al ensamblaje. Pude hacer esto de manera efectiva en el proyecto del sitio web, pero soy bastante nuevo en los proyectos de aplicaciones web. Cualquier consejo o enlace sería apreciado. Supongo que estoy buscando consejos sobre el ensamblaje & de gestión de referencia de control para proyectos de aplicaciones web ASP.NET.

Respuesta

2

Como el ensamblado no se importó a la carpeta BIN y su aplicación funciona, supongo que está almacenada en el GAC (caché de ensamblaje global) y marcada como "copy local = false" en las propiedades de referencia. No ve la referencia al ensamblado en el archivo web.config, ya que su código detrás del ensamblado, YourApp.dll (que siempre se crea para aplicaciones web), contiene una referencia de ensamblaje estándar para ese ensamblaje. Cuando ejecuta su aplicación, carga el ensamblaje desde el GAC.

1

Esos dlls "perdidos" están probablemente en el Global Assembly Cache y están disponibles para todas las aplicaciones .NET.

Puede agregar referencias de control al pages/controls section de web.config, que se aplicará a todas las páginas de la aplicación.

3

Como la mayoría de los proyectos de Visual Studio, las referencias se guardan en el proyecto.

Hay dos tipos de referencia:

proyecto hace referencia son referencias a otro proyecto en la misma solución. Son similares a esto:

<ProjectReference Include="..\VBClassLibrary1\VBClassLibrary1.vbproj"> 
    <Project>{045D7D9F-8E44-4C4B-95F8-620E86593C5B}</Project> 
    <Name>VBClassLibrary1</Name> 
</ProjectReference> 

referencias de archivo son referencias a un archivo arbitrario en el disco:

<Reference Include="System.Core"> 
    <RequiredTargetFramework>3.5</RequiredTargetFramework> 
</Reference> 

Si expande la carpeta Referencias y haga clic en una referencia, a continuación, busque en la ventana Propiedades, Veremos que ambos tipos de referencia tienen una propiedad "Copiar local". Para las referencias del proyecto, el valor predeterminado es verdadero, para las referencias de archivos a falso (aunque tal vez sea solo si el archivo está en el GAC). Cambiar el valor predeterminado agrega:

<Private>False</Private> 
Cuestiones relacionadas