بررسی نسخههای متفاوت NET Framework.
«NET Framework.» یک چارجوب توسعه است که توسط مایکروسافت ارائه شده و سیستمعاملهای ویندوز را هدف قرار دادهاست. در این مقاله به بررسی نسخههای مختلف این فریمورک میپردازیم. هر نسخه از NET Framework. از سه بخش اصلی تشکیل شده است که شامل «Common language runtime» یا به اختصار «CLR»، کتابخانههای پایه و سایر کتابخانههای مدیریتشده است. در این مقاله با قابلیتهای اصلی هر نسخه از NET Framework. آشنا میشویم، اطلاعاتی راجع به نسخههای مختلف CLR در محیطهای برنامهنویسی یاد میگیریم و نسخههای مورد استفاده در هر سیستمعامل ویندوز را بررسی میکنیم.
در زیر خلاصهای از نسخههای مختلف NET Framework. آمدهاست و آنها را بر اساس نسخهی ویژوال استودیو، ویندوز و ویندوز سرور تلفیق کردهاست. توجه داشتهباشید که ویژوال استودیو امکان برنامهنویسی برای نسخههای مختلف را میدهد، در نتیجه شما به استفاده از نسخههای ویژوال استودیو که در زیر آمدهاست محدود نیستید.
هر نسخه از NET Framework. امکانات نسخههای قبلی را حفظ کرده، و امکانات جدیدتری را به آن اضافه میکند. نسخهی «CLR» استفاده شده از نسخهی NET Framework. مجزا است. نسخهی NET Framework. با هر عرضه بالا میرود، ولی نسخهی «CLR» همیشه در حال رشد نیست. برای مثال، نسخههای 4، 4.5 و بالاتر NET Framework. شامل نسخهی چهارم «CLR» میشود، ولی نسخههای 2.0، 3.0 و 3.5 NET Framework. از «CLR 2.0» استفاده میکنند. (نسخهی سومی از «CLR» عرضه نشدهاست.)
NET Framework 1.0.
این نسخه از NET Framework. از «CLR 1.0» استفاده میکرد و اولین نسخه از NET Framework. بود. Visual Studio .NET نیز از این NET Framework. پشتیبانی میکند.
NET Framework 1.1.
این نسخه همراه با «CLR 1.1» عرضه شد. در این نسخه بروزرسانیهایی برای ASP.NET و ADO.NET عرضه شد و امکان اجرای همزمان نیز در این نسخه فراهم است. ویژوال استودیو 2003 همراه با این نسخه عرضه شده است. همچنین ویندوز سرور 2003 این نسخه را به صورت پیشفرض دارد.
NET Framework 2.0.
این نسخه همراه با «CLR 2.0» عرضه شد. یک سری تغییرات کلی در این نسخه صورت گرفته بود و علاوه بر آن امکانات جدیدی برای ASP.NET نیز فراهم شده بود. ویژوال استودیو 2005 همراه با این نسخه از NET Framework. عرضه شد.
NET Framework 3.0.
این نسخه نیز همراه با «CLR 2.0» عرضه شد. در این نسخه امکانات جدیدی ارائه شده بود که شامل «WPF»، «WCF»، «WF» و «CardSpace» بود. هیچ نسخهای از ویژوال استودیو با این نسخه عرضه نشد و نسخههای بعدی شامل نسخههای جدیدتری از NET Framework. میشدند (همانطور که گفتیم هر نسخهی جدید، شامل امکانات نسخههای قبلی نیز هستند). ویندوز ویستا در هنگام عرضه، این نسخه از NET Framework. را به طور پیشفرض در خود داشت.
NET Framework 3.5.
این نسخه نیز همراه با «CLR 2.0» عرضه شد. از جمله امکاناتی که در این نسخه اضافه شده بود، امکان استفاده از AJAX در وبسایتها، LINQ و دادههای پویا (Dynamic data) بود. ویژوال استودیو 2008 این نسخه را در خود جای داده است. ویندوز های 7، 8، 8.1 و 10 این نسخه را به طور پیشفرض در خود دارند، و ویندوز ویستا نیز امکان نصب آن را دارد.
NET Framework 4.
از این نسخه به بعد تمامی نسخههای NET Framework. به همراه«CLR 4.0» عرضه شدهاند. در این نسخه، کتابخانههای پایهی NET Framework. گسترش پیدا کردند، امکان توسعهی کراس-پلتفرم و کتابخانههای قابل حمل (Portable) ایجاد شده بود. از سایر امکانات این نسخه میتوان از «MEF»، «DLR» و «code contracts» نام برد. ویژوال استودیو 2010 با این نسخه عرضه شد.
NET Framework 4.5.
این نسخه از اپلیکیشنهای «ویندوز استور» پشتیبانی میکرد. در کنار آن یک بروزرسانی برای «WPF»، «WCF»، «WF» و «ASP.NET» نیز بود. ویژوال استودیو 2015 همراه با این نسخه عرضه شد. ویندوز 8 و ویندوز سرور 2012 به طور پیشفرض این نسخه را در خود دارند.
NET Framework 4.5.1.
این نسخه از اپلیکیشنهای «ویندوزفون استور» پشتیبانی میکرد و در مدیریت کتابخانهها، قدرت اجرا و خطاگیری کدها پیشرفتهای زیادی داشت. ویژوال استودیو 2013 همراه با این نسخه عرضه شد. ویندوز 8.1 و ویندوز سرور R2) 2012) همراه با این نسخه عرضه شدند.
NET Framework 4.5.2.
برخی از امکانات این نسخه عبارتند از:
- تعدادی «API» جدید برای سیستمهای پرداختی و ASP.NET
- امکان تغییر اندازهی کنترلها در ویندوز فرم براساس واحد «DPI» (نقطه بر اینچ)
- امکانات بیشتر در آنالیز عملکرد نرمافزار
- بهبود عملکرد «stress logging» و «ETW»
این نسخه در هیچکدام از ویندوزها به طور پیشفرض وجود ندارد.
NET Framework 4.6.
برخی از امکانات این نسخه عبارتند از:
- کامپایل کدها توسط NET Native
- عرضهی ASP.NET Core 5
- بهبود عملکرد در بررسی رویدادها (Event Tracing)
- پشتیبانی از «page encoding»
ویژوال استودیو 2015 همراه با این نسخه عرضه شد، البته برخی از کتابخانههای این نسخه از طریق «NuGet» برای سایر نسخههای ویژوال استودیو نیز در دسترس است. ویندوز 10 تنها ویندوزی است که این نسخه را در خود جای داده است و سایر ویندوزها از ویستا به بعد با این نسخه سازگار هستند.
NET Framework 4.6.1.
این نسخه در زمینهی رمزنگاری بهبود یافته بود. پشتیبانی از گواهینامهی X509 که شامل امضای «ECDSA» میشوند در این نسخه فراهم شده بود. علاوه بر آن، پشتیبانی دائمی از کلیدهای محافظت شده در ADO.NET از دیگر بهبودهای این نسخه بود. همچنین بهبودهایی در زمینهی خطایابی املایی در WPF ایجاد شده بود. این نسخه در بروزرسانی ماه نوامبر ویندوز 10 قرار داشت. ویندوزهای 7 به بعد نیز از آن پشتیبانی میکنند.
NET Framework 4.6.2.
امکانات این نسخه شامل موارد زیر میشوند:
- بهبود مسائل رمزنگاری، شامل پشتیبانی از گواهینامهی X509 که شامل «FIS 186-3 DSA» باشد، پشتیبانی از رمزنگاری متقارن دائمی، پشتیبانی از «SignedXml» در «SHA-2 hashing»، و واضحسازی ورودیهای الگوریتم «ECDiffieHellman»
- پشتیبانی از کیبورد مجازی و واحد DPI به ازای هر صفحهنمایش در «WPF»
- پشتیبانی از «ClickOnce» در پروتکلهای «TLS 1.1» و «TLS 1.2»
- پشتیبانی از تبدیل نرمافزارهای «Windows form» و «WPF» به «UWP»
این نسخه در بروزرسانی سالانهی ویندوز 10 به آن اضافه شد. علاوه بر آن ویندوزهای 7 به بعد امکان پشتیبانی از آن را دارند.
NET Framework 4.7.
از امکانات جدید این نسخه میتوان موارد زیر را نام برد:
- پشتیبانی از نسخهی «TLS» ارائه شده توسط سیستمعامل
- امکان شخصیسازی تنظیمات پیشفرض امنیت پیغامها در «TLS 1.1» یا «TLS 1.2»
- بهبود عملکرد «DataContractJsonSerializer»
- بهبود عملکرد «serialization» و «deserialization» در اپلیکیشنهای WCF
- امکان گسترش کش اشیا در ASP.NET
و مجموعهای از امکانات دیگر که در این نسخه اضافه شد. این نسخه در بروزرسانی «Creators Update» ویندوز 10 اضافه شد. ویندوزهای 8، 8.1 و ویندوز 10 (پس از بروزرسانی سالیانه) امکان پشتیبانی از این نسخه را دارند.
NET Framework 4.7.1.
امکانات جدید این نسخه به شرح زیر است:
- پشتیبانی از .Net Standard 2.0
- پشتیبانی از «Configuration builders» که امکان ساخت فایل تنظیمات در هنگام اجرا را میدهد.
- سریالسازی مقدارهای چندتایی
- بهبود عملکرد «Garbage collector»
- پشتیبانی از فایلهای «PDB» قابل حمل
- پشتیبانی از «SHA-2» در «Message.HashLagorithm»
- پشتیبانی از تبدیل کوکیها در ASP.NET توسط «HttpCookie.TryParse»
- پشتیبانی از «SHA-2 hashing» در احراز هویت فرمهای ASP.NET
- و بهبود دسترسیهای بسیار برای توسعهدهندگان
این نسخه در بروزرسانی «Fall Creators Update» ویندوز 10 به آن اضافه شد،
به طور کلی، نباید هیچ نسخهای از NET Framework. که برروی کامپیوترتان نصب است را حذف کنید، زیرا ممکن است نرمافزاری داشته باشد که به نسخهی خاصی از آن متکی باشد که با حذف آن نسخه، نرمافزار دچار مشکل میشود. امکان اجرای چندین نسخه از NET Framework. برروی یک رایانه به طور همزمان وجود دارد. در نتیجه نیازی نیست برای نصب نسخههای جدید، نسخههای قدیمی را حذف کنید.
ساخت و اجرای نرمافزار برای NET Framework 4.5. و بالاتر
NET Framework 4.5. یک بروزرسانی است که به جای NET Framework 4. در سیستم شما مینشیند و همچنین نسخههای 4.5.1، 4.5.2، 4.6، 4.6.1، 4.7 و 4.7.1 هم بروزرسانیهایی هستند که به جای NET Framework 4.5. مینشینند. این بدین معناست که همهی این نسخهها از یک نسخه از «runtime» استفاده میکنند، ولی کتابخانههای آنها بروزرسانی شده و امکانات بیشتری را شامل میشوند. پس از نصب یکی از این بروزرسانیها، مشکلی برای نرمافزارهایتان که تحت نسخههای 4، 4.5، 4.6 یا 4.7 هستند پیش نمیآید. ولی خلاف این مساله امکانپذیر نیست. اجرای نرمافزاری که برپایهی نسخهی جدیدی از NET Framework. است برروی نسخههای قدیمیتر پیشنهاد نمیشود. برای مثال، اجرای یک نرمافزار که برای NET Framework 4.6. نوشته شدهاست، برروی نسخهی 4.5 پیشنهاد نمیشود. به مثالهای زیر توجه کنید:
- شما میتوانید در ویژوال استودیو برای پروژهی خود، هدف را NET Framework 4.5. قرار دهید تا پروژهی شما به عنوان یک فایل NET Framework 4.5. کامپایل شود. این فایل میتواند در سیستمهایی که نسخههای 4.5، 4.5.1، 4.5.2، 4.6، 4.6.1، 4.7 و 4.7.1 برروی آنها نصب است، اجرا شود.
- شما میتوانید در ویژوال استودیو برای پروژهی خود، هدف را NET Framework 4.5.1. قرار دهید تا پروژهی شما به عنوان یک فایل NET Framework 4.5.1. کامپایل شود. این فایل تنها میتواند در سیستمهایی که نسخههای 4.5.1 یا بالاتر برروی آن نصب است اجرا شود. فایل اجرایی که NET Framework 4.5.1. را هدف قرار دهد، نمیتواند برروی سیستمی که فقط نسخههای قدیمیتر (مانند 4.5) را دارد اجرا شود، و کاربر نیاز به نصب نسخهی 4.5.1 دارد. به علاوه، کتابخانههای مربوط به NET Framework 4.5.1. نباید در پروژههایی که نسخههای پایینتر را هدف قرار دادهاند، استفاده شوند.
ساخت و اجرای نرمافزار برای نسخههای قدیمیتر
نسخههای 2.0، 3.0 و 3.5 دارای نسخهی ثابتی از «CLR» هستند. این نسخهها دارای لایهبندی پی در پی هستند و برروی هم دیگر نصب میشوند. شما نمیتوانید نسخههای 2.0، 3.0 و 3.5 را کنار هم روی یک سیستم داشته باشید. اگر نسخهی 3.5 را نصب کنید، لایههای 2.0 و 3.0 را نیز خواهید داشت و میتوانید نرمافزارهایی که برای نسخههای 2.0، 3.0 و 3.5 ساختهشدهاند را اجرا کنید. در NET Framework 4. این لایهبندی به پایان میرسد. بعد از نسخهی 4، شما میتوانید در یک پروسه به طور همزمان چندین نسخه از CLR را اجرا کنید.
توجه داشته باشید که اگر نرمافزار شما نسخههای 2.0، 3.0 یا 3.5 را هدف قرار داده باشد، کاربر ممکن است نیاز به فعالسازی NET Framework 3.5. برروی ویندوز 8 یا 8.1 داشته باشد تا بتواند نرمافزار شما را اجرا کند.
سلام وقت بخیر من نسخه net framework 4.7.2 را روی ویندوز 8 میخوام نصب کنم اما ارور میده و میگه پشتیبانی نمیکنه
لطفا راهنمایی کنید .ممنون
سلام خسته نباشید
ببخشید من روی لب تابم نت فرم ورک ۴.۸ نصب دارم اما یه برنامه هست که احتیاج به نت فرم ورک ۴ داره و وقتی می خوام نصب کنم میگه چون ورژن بالاتر هست نصب نمیشه. و برای اجرای اون نرم افزار هم نیاز هست ۴ باشه حتما. باید چیکار کنم ممنون
باسلام
ضمن تشکر از متن یسیارعالی شما ، که درعین خلاصه گویی مطالب راعنوان نموده اید، من صوالی درمورد نصب Net Framework 4 داشتم.آیا میتوان در Windows Xp SP3 که Net Framework 4 روی آن نصب شده ، Net Framework 3.5 نصب نمود؟ (چون درایور کارت گرافیکی ، برای نصب پیغام میدهد که نیاز به Net Framework 2 دارد وچون Net Framework 2 ندارم ، میخواهم Net Framework 3.5 روی آن نصب کنم). آیا میتوانم بدون ایجادمشکل ابتدا Net Framework 4 را uninstall نموده و سپس Net Framework 3.5 رانصب نمایم؟
(الان کارت گرافیکی(Radeon7000) به سختی نصب شده ولی هنگام استفده ازامکانات ، برنامه با پیغام خطا متوقف میشود وعملاً مهمترین امکانات این کارت که استفاده همزمان ازدوخروجی VGA است ، امکان پذیر نمیباشد)
ضمن تشکر مجدد ازمقاله عالی شما ، بسیارسپاسگزارمیشوم اگر من را راهنمایی فرمایید.
باتشکر:سیادت
با سلام و تشکر از نظر شما؛
بله، به طور کلی نصب Net Framework 3.5 بر روی ویندوز XP امکانپذیر هست، ولی در حالت معمول Net Framework 4 شامل تمام نسخههای پیشین خود نیز میشود.
مسالهی مهمتری که باید در نظر داشته باشید این است که درایوری که دانلود کردهاید مخصوص ویندوز XP باشد، چراکه نسخههای جدید بسیاری از درایورها در ویندوز XP قابل نصب و استفاده نیستند.
موفق باشید.