Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Where are assemblies in .NET physically located?

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?

like image 860
Petras Avatar asked Feb 08 '10 02:02

Petras


1 Answers

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).

like image 112
John Boker Avatar answered Sep 20 '22 10:09

John Boker