I am a little confused about where .NET assemblies are physically located. Take good old LINQ. In my web.config
file it says:
<add assembly="System.Data.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
This is the reference to LINQ. But where exactly is the DLL this refers to located? There isn't any path in the above and it's not in my bin folder.
I also have what I think is a third-party assembly reference:
<add assembly="MapInfo.CoreTypes, Version=4.0.0.483, Culture=neutral, PublicKeyToken=F548BCBA69D4B8DA" />
How can I tell where this is located on my machine if it's not in the bin
folder?
Also, if a DLL file is in the bin
directory, can I assume that it doesn't need to be referenced in web.config
?
I think they are located in the GAC, which is located in %WINDIR%\Assembly
. More information is in Demystifying the .NET Global Assembly Cache (at The Code Project).