سلام،
این که هر سیستم عاملی چه نسخه ای پیش فرض نصب شده و چه نسخه هایی قابل نصبه، از این لینک قابل برداشته:1- برای ویندوز 10 باید .Netframewok 3.5 نصب بشه اما روی ویندوز 7 مثل اینکه از قسمت Programs and Features و Turn Windows features باید تیک نصبش رو بزنیم. (شاید هم اشتباه می کنم) توی بعضی از ویندوز های 7 نسخه 3.5 داره و توی بعضی 3.5.1 نسخه 3.5.1 از نسخه 3.5 پشتیبانی می کنه یا نسخه 3.5 باید جداگانه نصب بشه.
.NET Framework system requirements | Microsoft Docs
مطابق این لینک، نباید مشکلی برای پشتیبانی 3.5.1 از 3.5 وجود داشته باشه ولی خودم تا حالا تست نکردم.
در مورد .NET Framework این طوری نیست که بشه گفت فلان نسخه از فلان نسخه های قدیمی تر پشتیبانی می کنه یا نمی کنه. کلا در هر فریم ورکی یه سری ویژگی هستش که در نسخه های جدید تر شاید پشتیبانی نشه. لیست کاملش اینجا موجوده:2- اگه من .Netframework 4.8 نصب کنم از تمامی نسخه های 1.1 تا 4 هم پشتیبانی می کنه یا اینکه برای پشتیبانی از 1.1 تا 4 فقط باید نسخه 4 رو نصب کنم. در این صورت یک مشکلی هست که خیلی ها نسخه 3.5 هم نصب می کنن که نمی دونم اگه نسخه 4 از 3.5 هم پشتیبانی می کنه چرا باید نسخه 3.5 نصب بشه. اگه نسخه 4.8 از نسخه 4 پشتیبانی نمی کنه تا چه نسخه ای رو پشتیبانی می کنه
What's Obsolete in the .NET Framework class library | Microsoft Docs
در کل این بستگی داره شما توی اون فریم ورک از چه کد هایی استفاده کردی.
نسخه ی 4 و بالا تر تغییر بنیادی دارن که برای مهاجرت از نسخه های قدیمی (مثل 3.5) به جدید تر (4.0 و بالا تر) این مشکلات می تونه رخ بده:
.NET Framework 4 migration issues | Microsoft Docs
که یه لیست طولانیه و باید ببینید که کدوم یکی شامل حال برنامه ی شما میشه. و این هم روش رفع این مشکلات:
How to: Configure an app to support .NET Framework 4 or later versions | Microsoft Docs
برای مهاجرت از نسخه های 4.0 و بالا تر هم این ابزار هستش که بهت کمک می کنه.
آرشان جان اگر پیوندی ازش موجوده لطفا این جا بذار چون به نظرم منطقی نیست. در نسخه ی 4.5.2 بازم تغییرات اساسی وجود داشته به طوری که دیگه حتی مایکروسافت از 4.0، 4.5 و 4.5.1 پشتیبانی نمی کنه (منبع). پس بهتره کلا از این سه نسخه استفاده نشه. بذار خیالت رو راحت کنم: الان فقط مایکروسافت از 3.5، 3.5 SP1 و نسخه های 4.5.2 و بالا تر پشتیبانی می کنه و پیشنهاد نمی کنم از سایر نسخه ها استفاده کنی.3- یک جایی خوندم اگه می خوای نرم افزار بنویسی از نسخه .NETFramework 4 استفاده کنیم بهتره چون همه سیستم ها پشتیبانی می کنن حالا اگه با نسخه 4.8 یا 4.7.2 بنویسیم تا چه سیستم عامل هایی رو پشتیبانی می کنه و کلا نسخه 4.8 چه چیزهای اضافه ای داره که مثلا نسخه 3.5 و 4 ندارن. چون من از کدهای داخلی >NETFramework آگاهی ندارم
این امکانات به فریم ورک ها در طول زمان اضافه شده (البته اگه علافه مندی بخون):
https://docs.microsoft.com/en-us/dot...d-dependencies
درسته که Visual C++ Redistributable شاید در برخی از نسخه های ویندوز نصب نشده باشه ولی این به این معنی نیست که وجود نداره! کلا کد های سی پلاس پلاسی به این بسته نیازمندند از جمله خود ویندوز. فقط برای امنیت، ویندوز این بسته رو در قالب یه فایل به نام msvcrt.dll در System32 نگه داری می کنه و ازش محافظت می کنه. چون اگه توی بخش Add/Remove Program این بسته وجود داشت، با حذف اون دیگه ویندوز قادر به کار کردن نبود. واسه همین مایکروسافت این رویکرد رو پیش گرفت.4- ویندوز ها از 7 تا 10 با C++ نوشته شدن یا لااقل بیشتر قسمت هاشون. موقعی که ویندوز نصب می کنیم این برنامه نصب نمی شه ولی ویندوز کار می کنه برخلاف برنامه های سی شارپ که باید NETFramework نصب باشه
visual c++ redistributable
نه تاثیری نداره، اگر کدی مطابق C++ 14 نوشته شده، فقط با C++ Runtime 14 کار می کنه. مطابق عرض بنده در بخش قبل، C++ هم از اون دیدگاه مثل C# مستقل نیست و پیش نیاز هایی داره؛ گرچه فرق این استقلال زمین تا آسمونه! ولی میشه یه کد سی خالص نوشت که مستقل از یه بسته که سهله، مستقل از سخت افزار هم عمل کنه.واقعا کار این visual c++ redistributable چیه و اگه ما از نسخه 2005 تا 2019 همه رو نصب کنیم تاثیری داره توی بهبود عملکرد ویندوز. چطور C++ می تونه مستقل از visual c++ redistributable باشه حداقل برای خود ویندوز اینطوریه اما سی شارپ نمی تونه مستقل از NETFramework باشه که طبیعیه
پ.ن.: متوجه منظورت شدم. از این بعد سعی می کنم برای هر پیوند یه توضیح شفاف هم بذارم. موفق باشی برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید
Bookmarks