وقتی در مونو برنامه ای می نویسید و آن را کامپایل می کنید در واقع یک فایل PE ویندوز می سازید که یک اسمبلی دات نت است (با پسوند exe یا dll و...) و برای اجرای آن هم به فریم ورک دات نت نیاز دارید. مونو در واقع یک لایه شبیه ساز است که اسمبلی های دات نت را در سیستم عامل های مختلف اجرا می کند و برای این اجرا از اسمبلی های دات نت استفاده می کند.
به زبان ساده تر وقتی مونو را روی [لینوکس] نصب می کنید اسمبلی های دات نت فریم ورک (مانند System, System.Net, System.Windows.Forms و ...) را روی سیستم شما نصب می کند (یعنی در واقع خود دات نت را) و برای اجرای فایل های خروجی از آنها استفاده می کند. در واقع مونو چیزی جز دات نت نیست.