فریمورک داتنت چیست و چرا در کامپیوترها نصب است؟
اگر مدت زیادی است که از ویندوز استفاده میکنید، به احتمال زیاد هنگام نصب برنامههایی که به داتنت احتیاج دارند و یا در لیست برنامههای نصب شدهی کامپیوترتان، متوجه مایکروسافت داتنت شدهاید. به عنوان یک کاربر عادی، به دانش زیادی برای استفاده از داتنت احتیاج ندارید؛ بلکه تنها لازم است که داتنت به خوبی روی سیستم شما کار کند. با این حال قصد داریم اطلاعات مفیدی دربارهی داتنت و علت نیاز برنامههای مختلف به آن را بررسی کنیم.
معرفی فریمورک
در حقیقت یک فریمورک یا چارچوب (در اصطلاح برنامهنویسی) مجموعهای از API و کتابخانهای از کدهای به اشتراک گذاشته شده است که توسعهدهندگان میتوانند هنگام توسعهی برنامهها آن را فراخوانی کنند و مجبور نخواهند بود یک کد را از ابتدا بنویسند. کتابخانهی کدهای به اشتراک گذاشتهشده در فریمورک داتنت FCL یا (Framework Class Library) نام دارد. در این کتابخانه، بیتهای کد قادر به انجام انواع عملیاتها هستند. به عنوان مثال، وقتی توسعهدهندهای به برنامهای نیاز دارد که IP آدرسی روی شبکه را پینگ (Ping) کند، بهجای نوشتن تمامی کد برنامه و مشخصکردن تکتک بیتهایی که وظیفهی تفسیر نتایج پینگ را به عهده دارند، میتواند کتابخانهای که این عمل را انجام میدهد پیدا کرده و از کد آن استفاده کند.
این تنها یک مثال کوچک بود. فریمورک داتنت شامل دهها هزار قطعه کد به اشتراک گذاشته شده میباشد. این کدهای اشتراکی، کار را برای توسعهدهندگان بسیار راحتتر میکنند؛ چرا که زمان زیادی را صرف نوشتن کدهای رایجی که قبلاً نوشته شده است، نخواهند کرد. در عوض میتوانند روی رابط کاربری (user interface) و بخشی از کد که منحصر به برنامهی خودشان میباشد تمرکز کنند. استفادهی فریمورکی از کدهای مشترک باعث به وجود آمدن استانداردی در میان برنامهها نیز میشود. سایر توسعهدهندگان به آسانی متوجه وظیفه و عملکرد یک برنامه خواهند شد؛ از طرفی کاربران نیز به طور مثال میدانند باکسهایی مانند Open و Save As در برنامههای مختلف عملکرد مشابهی دارند.
داتنت علاوه بر اینکه فریمورکی از کدهای مشترک میباشد، به عنوان «محیط اجرا» (runtime environment) برای برنامهها نیز به کار میرود. هر محیط اجرا، یک ماشین مجازی (virtual machine) مانند «سندباکس» (sandbox) جهت اجرای برنامهها فراهم میکند. بسیاری از پلتفرمهای توسعه (development platforms) نیز چیزی مشابه را ارائه میدهند. به عنوان مثال جاوا و Ruby on Rails هردو محیطهای اجرای مخصوص به خود را دارند. این محیط اجرا در داتنت CLR یا زمان اجرای زبان مشترک (Common Language Runtime) نام دارد. هنگامی که کاربر برنامهای را اجرا میکند، در زمان اجرا، کد این برنامه به کد ماشین کامپایل شده و سپس اجرا میشود. CLR سرویسهای دیگری مانند مدیریت حافظه و پروسسور، رسیدگی به برنامههای خاص و مدیریت امنیت نیز فراهم میکند. محیط اجرا در حقیقت روشی برای انتزاع برنامه از سختافزار واقعی است که برنامه را اجرا میکند.
اجرای برنامهها درون یک محیط اجرا مزایایی دارد که بزرگترین آن قابل حمل بودن (portability) است. توسعهدهندگان میتوانند کد برنامهی خود را با زبانهای پشتیبانی شده توسط داتنت مانند #C# ،C++ ،F، بیسیک و چند ده زبان برنامهنویسی دیگر بنویسند. این کد روی هر سختافزاری که توسط داتنت پشتیبانی میشود اجرا خواهد شد. در حالی که ظاهراً این پلتفرم برای پشتیبانی از سختافزارهایی به جز کامپیوترهای مبتنی بر ویندوز طراحی شدهاست، اما طبیعت اختصاصی آن باعث شده تا اکثراً برای برنامههای ویندوز مورد استفاده قرار بگیرد.
مایکروسافت برای حل این مشکل نسخههای دیگری از داتنت نیز ساختهاست. Mono پروژهای رایگان و اوپنسورس است که برای ایجاد سازگاری بین اپلیکیشنهای داتنت و دیگر پلتفرمها (مخصوصاً لینوکس) طراحی شدهاست. NET Core. نیز فریمورکی رایگان و اوپنسورس است که برای فراهم آوردن برنامههای ماژولار و سبک که قابلیت اجرا در پلتفرمهای مختلف را دارند، طراحی شدهاست. هدف از طراحی NET Core. پشتیبانی از سیستمعامل مک X، لینوکس و ویندوز بوده است.
فریمورک داتنت برای توسعهی برنامهها بسیار مفید است. این فریمورک به توسعهدهندگان اجازه میدهد به زبان دلخواه خود کد بنویسند و اطمینان داشته باشند که این کد در تمام محیطهای پشتیبانی شده توسط داتنت اجرا خواهند شد. کاربران از نرمافزارهای سازگار سود میبرند و در حقیقت بدون دسترسی به داتنت، توسعهدهندگان قادر به ساخت بسیاری از برنامهها نخواهند بود.
چگونه داتنت روی سیستمها نصب میشود؟
فریمورک داتنت تاریخچهی پیچیدهای دارد و طی سالیان متمادی ورژنهای مختلفی از آن ارائه شدهاست. معمولاً هر نسخه از ویندوز جدیدترین نسخهی داتنت را نیز در خود دارد. در ابتدا سعی شد ورژنهای جدید بهگونهای ساخته شوند که با ورژنهای قبلی نیز سازگار باشند (به طور مثال برنامهی نوشته شده برای ورژن 2، در ورژن 3 نیز اجرا شود)؛ اما این ایده چندان عملی نشد و تمامی برنامهها با ورژنهای جدید سازگار نبودند. لذا معمولاً در یک کامپیوتر چندین نسخهی مختلف از داتنت نصب است.
اساساً ورژنی از فریمورک داتنت به سه روش میتواند نصب شده باشد:
- به طور پیشفرض در نصب ویندوز گنجانده شده باشد.
- برنامهای به نسخهای از داتنت احتیاج داشته و هنگام نصب برنامه، داتنت نیز نصب شده است.
- ممکن است برخی از برنامهها شما را به سایتی برای دانلود و نصب نسخهای از داتنت هدایت کرده باشند.
خوشبختانه نسخههای جدید ویندوز روانتر عمل میکنند. در زمان ویندوز ویستا دو اتفاق مهم رخ داد: اولین مورد انتشار داتنت 3.5 بود؛ این نسخه برای دربرداشتن اجزای نسخههای 2 و 3 ارتقا داده شدهبود. با نصب نسخهی 3.5 داتنت، برنامههایی که به نسخههای قدیمیتری احتیاج داشتند نیز بهخوبی اجرا میشدند. مورد دوم، امکان آپدیت داتنت از طریق آپدیت ویندوز بود. این دو اتفاق به این معنا بود که اجزای مورد نیاز کاربران از قبل نصب بوده و دیگر توسعهدهندگان نیازی به درخواست از کاربر برای نصبهای جانبی نخواهند داشت.
به همراه ویندوز 8، نسخهی 4 فریمورک داتنت با طراحی کاملاً جدید نیز منتشر شد. نسخههای 4 به بالا با نسخههای قدیمیتر سازگاری ندارند و بهگونهای طراحی شدهاند که در صورت وجود نسخهی 3.5 در کنار آنها باز هم کار کنند. برنامههایی که برای نسخههای 3.5 و پایینتر نوشته شدهاند به نصب نسخهی 3.5 احتیاج دارند؛ و برنامه هایی که برای نسخهی 4 یا بالاتر نوشته شدهاند به نصب نسخهی 4 داتنت احتیاج دارند. البته به عنوان یک کاربر نیازی به نگرانی دربارهی نصب این نسخهها نیست، زیرا خود ویندوز به این امر رسیدگی میکند.
ویندوز 8 و ویندوز 10 نسخههای 3.5 و 4 داتنت را در خود دارند و در هنگام نصب اولین برنامهای که به داتنت احتیاج دارد، به طور خودکار آنها را اضافه میکنند. البته خود شما نیز میتوانید به طور دستی و از طریق Windows Features نسخههای مختلف را به طور جداگانه به ویندوز خود اضافه کنید؛ اما اگر به عنوان یک توسعهدهنده فعالیت نمیکنید، دلیلی برای این کار نیست و میتوانید اضافهکردن داتنت در هنگام نصب برنامهها را به ویندوز بسپارید.
راه حل مشکل با داتنت
در ویندوزهای قدیمیتر (مانند XP و ویستا) برای حل بعضی از مشکلات به نصب و پاککردن نسخههای مختلف داتنت احتیاج داشتید. سپس باید با تست و بررسی متوجه میشدید که آیا نسخهی مناسبی که برنامهها به آن احتیاج دارند نصب شده است یا خیر؟ اما در ورژنهای جدید ویندوز به احتمال زیاد به مشکلی با داتنت برنخواهید خورد؛ زیرا هر دو ورژن لازم در ویندوز گنجانده شدهاند و در هنگام نیاز نصب میشوند. با این حال اگر به مشکلی برخوردهاید که حدس میزنید مربوط به فریمورک داتنت باشد، طی چند مرحله میتوانید این مشکل را حل کنید.
ابتدا مطمئن شوید که ویندوزتان به آخرین نسخه آپدیت شده است. اگر آپدیتی برای فریمورک داتنت وجود دارد آن را آپدیت کنید، زیرا شاید با همین کار مشکل شما حل شود. روش دیگری که میتوانید امتحان کنید حذف نسخههای مختلف داتنت و اضافه کردن دوبارهی آنهاست. اگر هیچ کدام از این راهکارها مشکل را حل نکرد، میتوانید فایلهای سیستمی خراب (corrupted system files) را اسکن و تعمیر کنید. اگرچه ممکن است این عمل زمان زیادی ببرد، اما فایلهای سیستمی خراب یا از دست رفته را بازیابی میکند و در هر صورت ارزش امتحان کردن را دارد.
اگر باز هم مشکل حل نشد، .NET Framework Repair Tool را از سایت مایکروسافت دانلود کرده و اجرا کنید. این برنامه از تمامی نسخههای داتنت پشتیبانی میکند. به کمک این برنامه میتوانید مشکلات رایجی که مربوط به نصب و بهروزرسانی داتنت میباشد را شناسایی کرده و رفع کنید.
امیدواریم این مقاله مورد توجه شما قرار گرفته باشد. اگر به مطالعه بیشتر در این زمینه علاقهمند هستید، مطالب زیر را به شما پیشنهاد میکنیم:
- فریمورک داتنت چیست و چرا به آن احتیاج داریم؟
- مجموعه آموزشهای برنامهنویسی
- مجموعه آموزش های پروژه محور برنامه نویسی
- مجموعه آموزشهای برنامهنویسی و طراحی وب
- آموزش Dapper | چگونه از Dapper استفاده کنیم؟ — به زبان ساده
#