چارچوب دات‌نت
چارچوب دات‌نت یک فناوری نرم‌افزاری است که بر روی تمامی ویرایش‌های سیستم‌عامل ویندوز مایکروسافت قابل اجرا است و در سیستم‌عامل‌های دیگر از جمله لینوکس و مکینتاش نیز وارد شده‌است.
این چارچوب مجموعه‌ای از زبانهای برنامه‌نویسی که شامل سی شارپ و ویژوال بیسیک می‌باشد و همچنین کتابخانه‌های بسیار غنی جهت کمک به سهولت توسعه نرم‌افزار در برمیگیرد که در قالب بخش‌های عمده‌ای همچون فناورهای ASP.NET, ADO.NET و بسیاری فناوری‌های خاص دیگر ارائه می‌شوند که تعداد آن‌ها در نسخه‌های اخیر بیشتر شده‌است.
بخش کامپایلر این چارچوب یک مفسر همزمان است. به این معنی که کد تمام زبانها به یک زبان میانی به نام زبان میانی مشترک ترجمه شده و توسط یک ماشین مجازی بر اساس نیازها و مشخصات هر سیستم‌عامل و سخت‌افزار به اجرا در می‌آیند. کتابخانه‌های از پیش نوشته شده که در این چارچوب قرار دارند و در واقع پایه‌های اشیاء و کلاس‌های اصلی این چارچوب می‌باشند بخش وسیعی از نیازهای برنامه‌نویسی را تحت پوشش قرار می‌دهند. از جمله این کلاس‌ها می‌توان به واسط‌های گرافیکی کاربر، دسترسی به پایگاه‌های داده، رمزنگاری، برنامه‌های تحت‌وب، الگوریتم‌های کار با اعداد و ارتباطات شبکه‌ای را نام برد.
در ژوئن ۲۰۰۰، شرکت مایکروسافت خبر توسعه چهارچوب نرم‌افزاری دات‌نت، به همراه یک زبان برنامه‌نویسی جدید به نام سی شارپ را اعلام کرد. چارچوب دات‌نت یک مجموعهٔ وسیع از امکانات برنامه‌نویسی است.
زبان‌های #C و Visual Basic .NET همگی از چارچوب دات‌نت استفاده می‌کنند. برنامه‌های نوشته شده در این چهارچوب، ابتدا به زبان میانی مشترک ترجمه شده و سپس توسط زمان اجرای زبان مشترک اجرا می‌شوند. دات نت باعث شد که قدرت برنامه‌نویسی در زبانهای تحت این چارچوب یکسان شود و تفاوت فقط در نوع کدنویسی باقی بماند. چون ابزار و قدرت در دات نت از خواص دات نت است، نه زبان مورد استفاده.
تغییر عمده‌ای که در برنامه‌نویسی با دات نت نسبت به گذشته قابل رویت است نحوه اتصال به پایگاه‌های داده‌است که علاوه بر روش‌های قدیمی مانند DAO و ADO می‌توان از فناوری جدید ای‌دی‌اودات‌نت و انتیتی فریم ورک استفاده کرد.
مایکروسافت در اواخر دهه ۱۹۹۰ اقدام به توسعه دات نت تحت نام نسل بعدی خدمات ویندوز کرد. در اواخر سال ۲۰۰۰ اولین نسخه بتا از NET 1.0 منتشر و سپس مایکروسافت با همکاری اچ پی و اینتل جهت استانداردسازی زیرساخت زبان مشترک و سی شارپ کار می‌کردند که تا دسامبر ۲۰۰۱ برای هردو مورد ذکر شده استاندارد اکما
(ECMA) را تصویب کردند. و همچنین در آوریل ۲۰۰۳ توسط سازمان بین‌المللی استانداردسازی (ISO) ثبت شده‌است. مخزن کد منبع در تاریخ ۱۶ ژانویه ۲۰۰۷ به صورت آنلاین در دسترس قرار گرفت که شامل ASP.NET, ADO.NET, Windows Forms, WPF و XML بود و همچنین مایکروسافت قول داد که کتابخانه‌های LINQ, WCF و WF نیز به زودی اضافه می‌شوند. در ۱۲ نوامبر ۲۰۱۴، مایکروسافت در تلاش برای پشتیبانی از قابلیت چندسکویی Net Core. را معرفی کرده و همچنین منبع کد آن را در اختیار توسعه دهنگان قرار داد تا تحت نظر بنیاد دات نت و به صورت متن باز توسعه پیدا کند. به گفته مایکروسافت Net Core. به عنوان یک طراحی مجدد که مبتنی بر نسخه ساده شده کتابخانه‌های دات نت و همچنین از آن به عنوان پایه و اساس تمام پلتفرم‌های آینده دات نت یاد شد. انتشار اولیه پروژه شامل زیر مجموعه ای از کد منبع کتابخانه‌های بکار رفته به همراه مجوزهای که مشابه با مجوزهای .Net بود صورت گرفت.
.NET Core یک چارچوب چند سکویی و آزاد و متن باز مشابه چارچوب دات نت است که توسط مایکروسافت توسعه داده شده و تحت پروانه ام‌آی‌تی منتشر شده‌است. ویرایش ۱٫۰ آن در ۲۷ ژوئن ۲۰۱۶ به همراه به روز رسانی ۳ ویژوال استودیو ۲۰۱۵ عرضه شد. آخرین ویرایش ۵.۰.۲۰۳ آن در ‍‍۱۱ می ۲۰۲۱ عرضه شد.
مسئله ای که اکوسیستمِ فعلیِ توسعهٔ مبتنی بر دات نت با آن مواجه است، این می‌باشد که هر کدام از این چارچوب‌ها، علی‌رغمِ شباهت‌ها، در بخش‌های بسیاری با یکدیگر متفاوت می‌باشند و به‌طور کلی دارای کلاس‌ها، رفتارها و APIهای متفاوتی می‌باشند. در نتیجه کدی که شما در یکی از این فریم ورک‌ها می‌نویسید دلیلی ندارد در پلتفرم‌های دیگر هم قابل اجرا باشد. همچنین دات نت کور بسیاری از APIها دات نت سنتی را ندارد و در بعضی جاها دارای تفاوت‌های اساسی با آن می‌باشد.
برای حل معضل از هم گسیختگیِ اکوسیستمِ دات نت، یکپارچه سازی APIها و بالا بردن توانایی اجرا بر روی همه پلتفرم‌ها، مایکروسافت مدتی است که استانداردی را تحت عنوان dotNet Standard معرفی کرده‌است. dotNet Standard در واقع مجموعهٔ بسیار بزرگ و کاربردی ایی از API هاست که فریم ورک‌های مختلف می‌بایست آن‌ها را پیاده‌سازی کرده و این APIها بین همه فریم ورک‌ها یکسان باشند.
تست یکی از اجزای مهم در تولید نرم‌افزار است، در دات‌نت نیز مانند سایر فناوری‌ها نیاز به تست وجود دارد. نیاز به ابزار قدرتمندی برای پروفایل کردن برنامه‌های کاربردی دات-نت همیشه احساس می‌شود. در تست باید میزان و نحوه استفاده از پردازنده، ورودی/خروجی و حافظه را در سطح برنامه مشخص نماییم. ابزارهای profiler، برخلاف ابزارهای monitoring، اشکالات کارایی و کندی سیستم را در سطح برنامه‌نویسی مشخص می‌کنند. https://plink.ir/Z5GjI