Referenced by projects .net 4.0 assemblies have no IL. How? and What for?
There is something I don't understand. Today I desided to find out what is inside Sistem.Web.dll version 4.0.0.0 So I decided to find the place where this assembly located.
and opened this assembly with reflector - all methods were empty - and then with ilDasm from 7.0 SDK. Thi开发者_如何学Cs what I saw
After some research I've found fullfeatured assemblies in gac. Actualy here
C:\Windows\assembly\NativeImages_v4.0.30319_32\System.Web\82087f17d3b3f9c493e7261d608a6af4
They are much larger in size. So why does references goes not to the gac, but to the C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.0\ Why don't they have IL inside? How does it works?
Mabe I don't understand something.
As you observed, they are dlls with stripped off IL code. As described below, you cannot reference assembiles in the GAC and the GAC does not allow you to store xml files.
http://p3net.mvps.org/Topics/Basics/IntegratingGACWithVS.aspx
In addition, this helps you to target different versions of the .net framework and get the right intellisense in Visual studio 2010. VS 2010 as you know allows mutli targetting.
精彩评论