هر برنامه ای که بر مبنای دات نت تعريف می شود از سه قسمت مهم و اصلی تشکيل شده است: اسمبلی، ماژول و تايپ.
هر برنامه ای که بر مبنای NET. تعريف می شود از سه قسمت مهم و اصلی تشکيل شده است: Assemblies ، Modules و Types . اسمبلی ها اصلی ترين جز برای انتقال برنامه های NET. هستند (Deployment). ماژول ها فايلهايی هستند که اسمبلی از روی آنها ساخته می شود و تايپ ها، واحد های پايه برای تعريف داده ها، property ها و توابع هستند.
اسمبلی ها
اسمبلی تشکيل شده از manifest و يک يا چند فايل ماژول، XML يا HTML.
اسمبلی ها
اسمبلی تشکيل شده از manifest و يک يا چند فايل ماژول، XML يا HTML.
Manifest نيز دارای اجزای زير است:
• اطلاعاتی درباره خود اسمبلی که به صورت text ذخيره شده است. نمونه اين اطلاعات، نام، ورژن، عمومی يا غير عمومی بودن اسمبلی و ... است.
• نوع حفاظتی اسمبلی را توضيح می دهد. هر اسمبلی می تواند برای اجرا شدن نوع خاصی از لايه امنيتی داشته باشد که بر سه نوع است: Required ،Optional و Denied.
• اطلاعاتی درباره اسمبلی های ديگر که يک اسمبلی به آنها وابسته است از قبيل نام و نسخه آنها.
• اطلاعاتی از قبيل زبان محلی اسمبلی، تاريخ، واحد پول و غيره.
ماژول ها
ماژول ها يا فايلهای DLL هستند يا فايلهای EXE Windows PE (Portable Executable) که حاوی IL ، Meta Data و به صورت اختياری دارای manifest می باشد. هر اسمبلی فقط يک manifest می تواند داشته باشد، بنابراين اگر ماژولی حاوی manifest نيز بود فقط همان ماژول است که manifest دارد. CLR دو روش برای کامپايل هر فايل IL دارد، يکی install-time است که در زمان نصب برنامه فعال می شود و ديگری JIT يا کامپايلر just-in-time که به صورت method by method برنامه را کامپايل می کند. يعنی هنگامی که برنامه هر متد را صدا می زند کامپايل هم می شود . به صورت عادی برنامه ها به روش JIT کامپايل می شوند. Meta Data حاوی اطلاعات بيشتری درباره تعريف تايپ ها می باشد و به صورت IL است.
تايپ ها
تايپ ها دو نوع هستند، Value و Reference . هر تايپ دارای property ، method و field است. در ادامه درباره تايپ ها توضيحات بيشتری داده خواهد شد.