Assemblies referencing .net 4.0 projects have no IL. How? and for what?
I donβt understand something. Today I decided to find out what is inside Sistem.Web.dll version 4.0.0.0. So I decided to find the place where this assembly is located.

and opened this assembly with reflector - all methods were empty and then with ilDasm from 7.0 SDK. This is what I saw

After some research, I found fully functional assemblies in gac. Actually here
C: \ Windows \ assembly \ NativeImages_v4.0.30319_32 \ System.Web \ 82087f17d3b3f9c493e7261d608a6af4
They are much larger in size. So why do the links link not to gac, but to C: \ Program Files (x86) \ Reference Assemblies \ Microsoft \ Framework.NETFramework \ v4.0 \ Why don't they have an IL inside? How it works?
Mabe I don't understand anything.
a source to share
As you noticed, this is a DLL with disabled IL code. As described below, you cannot reference assemblies in the GAC, and the GAC does not allow storing xml files.
http://p3net.mvps.org/Topics/Basics/IntegratingGACWithVS.aspx
Also, it helps you set up different versions of the .net framework and get correct intellisense in Visual Studio 2010. VS 2010, as you know, allows you to customize mutli.
a source to share