هر يك از كامپايلرها ، كد نوشته شده توسط برنامه نويسان را به يك زبان مياني موسوم به Microsoft intermediate language يا به اختصار IL  يا MSIL كامپايل ميكند . سپس اين كد مياني در زمان نصب برنامه يا در هنگام اولين اجرا
توسط runtime به زبان ماشين تبديل مي شود .
روش كامپايل كردن كد در هنگام اولين اجرا را JIT مي گويند .
كدي كه به IL تبديل شده و مديريت آن توسط runtime صورت ميگيرد managed code ناميده ميشود .
علت اين نامگذاري اين است كه مديريت اجراي اين كد اعم از ساختن اشياء ، تخصيص حافظه و حذف اشياء بلااستفاده از حافظه توسط runtime  اجرا مي شود .
مولفه هايي كه با IL نوشته ميشوند و توسط runtime  اجرا ميگردند ، .net managed assemblies  يا به اختصار اسمبلي ناميده مي شوند . اسمبلي ها كوچكترين واحد دسته بندي اشيا در دنياي .net مي باشند و بسيار شبيه مولفه هاي com هستند . تفاوت آنها در اين است كه يك مولفه com براي تعيين چگونگي استفاده از اشياي دروني اش ، يك type library به مشتريان خود ارائه ميدهد ، در حالي كه يك اسمبلي براي اين منظور يك مانيفيست دارد
. مانيفيست فهرستي است كه محتويات آن اسمبلي را مشخص مي كند . اين ويژگي مولفه هاي .net ، علاوه بر مزاياي ديگري كه بعدا به آنها اشاره خواهد شد ، بيانگر آن است كه يك اسمبلي نيازي به ثبت در رجيستري كامپيوتر ندارد و خودش شامل اطلاعاتي است كه محتويات و چگونگي استفاده از آن را مشخص ميسازند .
اطلاعات موجود در مانيفيست ، وابستگي ها و شماره نسخه آن اسمبلي را نيز معين مي كند . اين اطلاعات به شما كمك مي كنند كه به راحتي تمام اسمبلي هاي مورد نياز براي استفاده از يك اسمبلي را شناسايي كنيد .
بعلاوه ، اين امكان وجود دارد كه چندين نسخه مختلف از يك اسمبلي برروي يك كامپيوتر و بدون ايجاد تداخل با يكديگر
كار كنند . اين ويژگي گام مهمي براي حل يكي از مشكلات فايل هاي DLL  مي باشد كه به DLL Hell معروف است و يكي از بدترين مصيبت هاي هر برنامه نويسي مي باشد . كافي است از كسي كه با چند نسخه مختلف ADO كاركرده
است دراين مورد مشورت كنيد ! با وجود .net اين مشكل حل شده است . با توجه به اين كه برنامه كاربردي ميداند براي استفاده از كدام نسخه يك اسمبلي طراحي شده است با مراجعه به مانيفيست به راحتي ميتواند نسخه مورد نظر را از ميان چند نسخه موجود انتخاب كند .

كتابخانه چارچوب .net

اين كتابخانه مجموعه اي از كلاس هاي پايه است كه برنامه نويسان مي توانند به طور مستقيم از آنها استفاده كنند و يا از روي آنها كلاس هاي جديدي بسازند . اين كلاسها به صورت سلسله مراتبي طراحي شده اند .اين كلاسها كه بستگي به كاربردشان در گروه هاي مختلفي به نام فضاي نامي (namespace) طبقه بندي شده اند ، توانايي هاي اساسي و
پيشرفته اي دارند كه شما به راحتي مي توانيد آنها را به خدمت بگيريد . براي مثال كلاسهاي مربوط به اتصال به بانك
اطلاعاتي (ado.net) ، كلاسهاي مربوط به برنامه نويسي گرافيكي (GDI+) و ...
به علاوه ، اين كتابخانه شامل كلاسهايي است كه asp.net  را شكل مي دهند . از جمله كلاس page  كه در فضاي نامي system.web.UI قرار دارد و تمامي صفحات asp.net از آن مشتق مي شوند .

ADO.NET & XML
بعد از كتابخانه چارچوب .net  ، ado.net و xml قرار مي گيرد . ado.net   مجمو عه اي از كلاسهاست كه وظيفه برقراري ارتباط با بانك هاي اطلاعاتي را دارد . اين تكنولوژي براساس تكنولوژي قبلي ، يعني ADO بنيان گذاشته شده است . فرق ADO.net با نگارش قبلي آن استفاده از XML و همچنين ايجاد ارتباط offline  مي باشد .
 Windows forms - web forms - web services

و سرانجام در انتها .net از دو نوع مختلف از برنامه ها پشتيباني مي كند كه يكي windows form مي باشد كه براي طراحي برنامه هاي سرويس گيرنده استفاده ميشود ، و ديگري ASP.NET كه براي ايجاد صفحات وب و سرويس دهنده هاي وب استفاده ميشود .