اسمبلی ظرفی هست که حاوی یک یا مجموعه ای از فضای نام در دات نت است که توسط CLR اجرا میشه. و میتونه در دو نوع باشه EXE و DLL
EXE == Executable , DLL == Dynamic link library
در واقع EXE در فضای آدرس (حافظه) خودش اجرا می شود. ولی DLL در فضای آدرس خودش قابل اجرا نیست و برای اینکه اجرا شود به میزبان نیاز دارد به عبارتی دیگر DLL برای اجرا به یک مصرف کننده نیاز دارد تا آنرا اجرا کند. پس DLL در فضای حافظه دیگری قابل اجراست و DLL در فضای آدرس EXE قابل اجراست.
اهمیت DLL برای استفاده مجدد در پروژه است بعنوان مثال شما یکبار یک DLL ایجاد میکنید و میتوانید آنرا در پروژه کنسول یا ویندوز و یا در پروژه MVC استفاده کنید. میتوانیم DLL را بعنوان یک کامپوننت قابل استفاده مجدد در نظر بگیریم.