Pregunta

Estoy un poco confundido acerca de dónde ensamblados .NET se encuentran físicamente. Tome el buen LINQ . En mi archivo web.config que dice:

<add assembly="System.Data.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>

Esta es la referencia a LINQ. Pero ¿dónde exactamente es la DLL esto se refiere a ubicada? No hay ninguna ruta en el anterior y no es en mi carpeta bin.

También tengo lo que creo que es una referencia de ensamblado de terceros:

<add assembly="MapInfo.CoreTypes, Version=4.0.0.483, Culture=neutral, PublicKeyToken=F548BCBA69D4B8DA" />

¿Cómo puedo saber donde esta se encuentra en mi máquina si no está en la carpeta bin?

Además, si un archivo DLL está en el directorio bin, puedo supongo que no es necesario hacer referencia en web.config?

¿Fue útil?

Solución

Los montajes de otros fabricantes podrían no estar en el GAC , el artículo de MSDN ver Cómo el tiempo de ejecución localiza ensamblados para el conjunto de reglas . O bien, tratar los SysInternals FILEMON .

Otros consejos

Creo que se encuentran en el GAC , que se encuentra en %WINDIR%\Assembly. Más información se encuentra en Desmitificando el .NET Global Asamblea caché (en El Proyecto de Código ).

ruta

Asamblea y la fusión de sondeo es bastante complicado. Me gustaría decir que normalmente .NET resolverá un montaje de uno de dos lugares:

  1. O bien se lo encontrará en el directorio local, al igual que el directorio actual, un subdirectorio bin, o en otro lugar especificado por la lógica de la fusión de montaje vinculante, o

  2. que encontrará en el almacén global GAC, donde las asambleas pueden ser registrados y miraron hacia arriba por su nombre, la versión y un par de otros atributos.

Para hacer frente a su pregunta específica sobre el directorio 'bin', si está utilizando ASP.NET (que supongo de su referencia a web.config), entonces sí, no es necesario incluir la ruta - ASP.NET se hará cargo de todo lo que tiene que hacer con el fin de hacer mirada .NET para montajes en el directorio 'bin'.

Algunos de los ensamblados de .NET se encuentran en la carpeta de instalación de .Net

como

  

C: \ Archivos de programa (x86) \ Referencia   Asambleas \ Microsoft \ Framework.NETFramework \ v4.0

En el interior hay las asambleas que se sientan. En el nivel uno .NETFramework hasta que encontraría las diferentes versiones de .NET y sus correspondientes asambleas.

La respuesta corta es: depende de muchas cosas. El marco tiene su de cómo se carga asambleas. Sin embargo, puede cambiar esto usando los diversos archivos de configuración (machine.config, etc). Para averiguar cuál es su ensamblados en realidad viven en un sistema en particular, utilizan el Asamblea Encuadernación Conectarse espectador. (Es parte de la plataforma SDK. Sólo tiene que abrir una consola de comandos SDK y ejecutar Fuslogvw.exe.)

Un montaje se puede encontrar sobre todo en cualquiera de los siguientes lugares:

  • GAC - C: \ Windows \ Assembly \ GAC (Microsoft y proporcionado por terceros en algunos casos)
  • Carpeta de instalación (la mayor parte del controles de terceros)

Puede obtener la ruta y otra información sobre un ensamblado con un clic derecho sobre el conjunto de las referencias del proyecto y seleccionando Propiedades .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top