الإعلان عن .NET Core 3.1

يسرنا أن نعلن عن إصدار .NET Core 3.1. إنها في الحقيقة مجرد مجموعة صغيرة من الإصلاحات والتحسينات على .NET Core 3.0 ، والتي أصدرناها قبل شهرين فقط. الميزة الأكثر أهمية هي أن .NET Core 3.1 هو إصدار مدعوم طويل الأجل (LTS) وسيتم دعمه لمدة ثلاث سنوات. كما فعلنا في الماضي ، أردنا أن نأخذ وقتنا قبل إصدار الإصدار LTS التالي. سمح لنا الشهرين الإضافيين (بعد .NET Core 3.0) باختيار وتطبيق المجموعة الصحيحة من التحسينات على ما كان بالفعل قاعدة مستقرة للغاية. أصبح .NET Core 3.1 جاهزًا للاستخدام الآن أينما كان خيالك أو احتياجات عملك.

يمكنك تنزيل .NET Core 3.1 لنظام التشغيل Windows و macOS و Linux:


كما يتم إصدار ASP.NET Core و EF Core اليوم.

تم إصدار Visual Studio 2019 16.4 أيضًا اليوم ويتضمن .NET Core 3.1. إنه تحديث مطلوب لاستخدام .NET Core 3.1 مع Visual Studio. بالنسبة لمستخدمي Visual Studio 2019 ، نوصي ببساطة بتحديث Visual Studio إلى 16.4 وبدلاً من تنزيل .NET Core 3.1 بشكل منفصل.

يدعم Visual Studio for Mac ويتضمن .NET Core 3.1 ، في قناة Visual Studio لـ Mac 8.4 Preview. ستحتاج إلى الاشتراك في قناة Preview لاستخدام .NET Core 3.1.

ملاحظات الإصدار:




ركزت التغييرات في .NET Core 3.1 بشكل أساسي على Blazor و Windows Desktop ، وهما الإضافتان الجديدتان والكبيرتان في .NET Core 3.0. يتضمن ذلك دعمًا لـ C ++ / CLI ، وهو طلب منتظم للمطورين الذين يستهدفون Windows.

قبل أن نلقي نظرة على ما هو جديد في .NET Core 3.1 ، دعونا نلقي نظرة سريعة على التحسينات الرئيسية في .NET Core 3.0 ، وهو الجزء الأكبر من المهم بالنسبة لـ .NET Core 3.1.

خلاصة. NET كور 3.0 التحسينات


تم تسليم التحسينات الرئيسية التالية في .NET Core 3.0. لقد سمعنا بالفعل من مطوري المواقع الكبيرة أنه يعمل بشكل جيد للغاية بالنسبة لهم.

  • تم اختبار .NET Core 3.0 بالفعل من قبل المعركة من خلال استضافته لعدة أشهر على dot.net وعلى Bing.com . سيتم نشر العديد من فرق Microsoft الأخرى قريبًا عبء عمل كبير على .NET Core 3.1 في الإنتاج.
  • تم تحسين الأداء إلى حد كبير عبر العديد من المكونات ويتم وصفه بالتفصيل في تحسينات الأداء في .NET Core 3.0 و Intrinsics في .NET Core .
  • تضيف C # 8 تدفقات غير متزامنة ونطاق / فهرس والمزيد من الأنماط وأنواع المراجع الفارغة . يمكّنك Nullable من استهداف الأخطاء في التعليمات البرمجية التي تؤدي إلى NullReferenceException . لقد تم التعليق على أدنى طبقة من مكتبات الإطار ، بحيث تعرف متى تتوقع أن تكون null .
  • يركز F # 4.7 على جعل بعض الأمور أسهل مع تعبيرات yield الضمني وبعض استرخاء بناء الجملة. ويشمل أيضًا دعم LangVersion ، LangVersion مع nameof وفتح الفصول الثابتة في المعاينة. تستهدف مكتبة F # Core أيضًا .NET Standard 2.0. يمكنك قراءة المزيد في الإعلان عن F # 4.7 .
  • يعمل .NET Standard 2.1 على زيادة مجموعة الأنواع التي يمكنك استخدامها في التعليمات البرمجية التي يمكن استخدامها مع كل من .NET Core و Xamarin. يتضمن .NET Standard 2.1 أنواعًا منذ .NET Core 2.1.
  • يتم الآن دعم تطبيقات Windows Desktop باستخدام .NET Core ، لكل من Windows Forms و WPF ( والمصدر المفتوح ). مصمم WPF جزء من Visual Studio 2019. مصمم نماذج Windows في المعاينة ومتاح كتنزيل.
  • تحتوي تطبيقات .NET Core الآن على ملفات قابلة للتنفيذ افتراضيًا. في الإصدارات السابقة ، يجب تشغيل التطبيقات عبر أمر dotnet myapp.dll ، مثل dotnet myapp.dll . يمكن الآن تشغيل التطبيقات باستخدام ملف قابل للتنفيذ خاص بالتطبيق ، مثل ./myapp أو ./myapp ، وفقًا لنظام التشغيل.
  • تمت إضافة واجهات برمجة التطبيقات JSON عالية الأداء للقارئ / الكاتب ونموذج الكائن وسيناريوهات التسلسل. تم تصميم واجهات برمجة التطبيقات هذه من نقطة الصفر أعلى SpanT واستخدام UTF8 تحت الأغطية بدلاً من UTF16 (مثل string ). تعمل واجهات برمجة التطبيقات هذه على تقليل التخصيصات ، مما يؤدي إلى أداء أسرع ، وعمل أقل بكثير لجامع البيانات المهملة. راجع تجربة واجهات برمجة التطبيقات System.Text.Json الجديدة .
  • يستخدم أداة تجميع مجمعي البيانات المهملة ذاكرة أقل افتراضيًا ، وغالبًا ما تكون أقل بكثير. هذا التحسين مفيد للغاية للسيناريوهات حيث يتم استضافة العديد من التطبيقات على نفس الخادم. تم أيضًا تحديث أداة تجميع مجمعي القمامة للاستفادة بشكل أفضل من أعداد كبيرة من النوى ، على الأجهزة التي يزيد وزنها عن 64 مركزًا. انظر جعل تكوين وحدة المعالجة المركزية أفضل لجهاز GC على الأجهزة التي تحتوي على 64 وحدة معالجة مركزية .
  • تم تثبيت .NET Core من أجل Docker لتمكين تطبيقات .NET من العمل بشكل متوقع وفعال في حاويات. تم تحديث أداة تجميع مجمعي البيانات المهملة وتجمع مؤشرات الترابط للعمل بشكل أفضل عندما يتم تكوين حاوية للذاكرة محدودة أو وحدة المعالجة المركزية. تكون صور مرسى .NET Core أصغر ، خاصة صورة SDK. راجع: التشغيل باستخدام خادم GC في جزء 0 من سيناريوهات الحاوية الصغيرة ، تشغيل مع خادم GC في جزء 1 من سيناريوهات حاوية صغيرة - حد ثابت لكومة كومة الذاكرة المؤقتة واستخدام .NET و Docker Together - DockerCon 2019 Update .
  • يتم دعم رقائق Raspberry Pi و ARM الآن لتمكين تطوير IoT ، بما في ذلك باستخدام مصحح أخطاء Visual Studio عن بُعد. يمكنك نشر التطبيقات التي تستمع إلى أجهزة الاستشعار ، وطباعة الرسائل أو الصور على الشاشة ، كل ذلك باستخدام واجهات برمجة التطبيقات GPIO الجديدة. يمكن استخدام ASP.NET لفضح البيانات كواجهة برمجة تطبيقات أو كموقع يتيح تكوين جهاز إنترنت الأشياء.

دعم منصة


يتم دعم .NET Core 3.1 على أنظمة التشغيل التالية:

  • جبال الألب: 3.10+
  • دبيان: 9+
  • أوبونتو: 16.04+
  • فيدورا: 29+
  • RHEL: 6+
  • openSUSE: 15+
  • SUSE Enterprise Linux (SLES): 12 SP2 +
  • ماك: 10.13+
  • عميل Windows: 7 ، 8.1 ، 10 (1607+)
  • خادم ويندوز: 2012 R2 +

ملاحظة: تطبيقات Windows Forms و WPF وظيفية ومدعومة فقط على Windows.

دعم رقاقة يلي:

  • إلى x64 على أنظمة تشغيل Windows و macOS و Linux
  • إلى x86 على ويندوز
  • ARM32 على ويندوز ولينكس
  • ARM64 على نظام Linux (kernel 4.14+)

ملاحظة: يرجى التأكد من أن عمليات نشر .NET Core 3.1 ARM64 تستخدم إصدار Linux kernel 4.14 أو إصدار أحدث. على سبيل المثال ، يفي Ubuntu 18.04 بهذا المطلب ، لكن 16.04 لا يستوفي هذا الشرط.

ويندوز أشكال إزالة الضوابط


تمت إزالة عناصر تحكم Windows Forms التالية من .NET Core 3.1:

  • DataGrid
  • شريط الأدوات
  • ContextMenu
  • قائمة الطعام
  • القائمة الأساسية
  • MENUITEM

تم استبدال عناصر التحكم هذه بعناصر تحكم أكثر قوة في .NET Framework 2.0 ، في عام 2005. لم تكن متوفرة بشكل افتراضي في Visual Studio Designer Toolbox لسنوات عديدة. نتيجة لذلك ، قررنا إزالة عناصر التحكم هذه والتركيز فقط على الضوابط الجديدة.

يوصى بالبدائل التالية:
DataGridداتاغريدفيفDataGridCell ، DataGridRow ، DataGridTableCollection ، DataGridColumnCollection ، DataGridTableStyle ، DataGridColumnStyle ، DataGridLineStyle ، DataGridParentRowsLabel ، DataGridParentRowsLabelStyle ، DataGridBoolles ،
شريط الأدواتToolStripToolBarAppearance
ToolBarButtonToolStripButtonToolBarButtonClickEventArgs ، ToolBarButtonClickEventHandler ، ToolBarButtonStyle ، ToolBarTextAlign
ContextMenuContextMenuStrip
قائمة الطعامToolStripDropDown ، ToolstripDropDownMenuMenuItemCollection
القائمة الأساسيةMenuStrip
MENUITEMToolstripMenuItem
نعم ، هذا تغيير مؤسف مؤسف. سترى فواصل الإنشاء إذا كنت تستخدم عناصر التحكم التي أزلناها في تطبيقاتك. أيضًا ، إذا قمت بفتح تطبيقات .NET Core 3.0 في أحدث إصدارات مصمم .NET Framework Windows Forms ، سترى أخطاء إذا كنت تستخدم عناصر التحكم هذه.

نوصي بتحديث التطبيقات الخاصة بك إلى .NET Core 3.1 والانتقال إلى عناصر التحكم البديلة. استبدال عناصر التحكم عملية مباشرة للأمام ، "العثور على واستبدالها" بشكل أساسي.

أولاً ، يجب أن نجري هذه التغييرات قبل إصدار .NET Core 3.0 ، ونعتذر عن ذلك. نحاول تجنب التغييرات المتأخرة ، وأكثر من ذلك لكسر التغييرات ، ويؤلمنا أن نجعل هذا التغيير.

مع تقدمنا ​​في مشروع مصمم نماذج Windows ، أدركنا أن عناصر التحكم هذه لم تتماشى مع إنشاء تطبيقات حديثة ولا ينبغي أن تكون جزءًا من منفذ .NET Core الخاص بـ Windows Forms. ورأينا أيضًا أنهم يحتاجون إلى مزيد من الوقت منا للدعم أكثر من المنطقي.

هدفنا هو مواصلة تحسين نماذج Windows للحصول على DPI العالي وإمكانية الوصول والموثوقية ، وكان هذا التغيير المتأخر مطلوبًا لتمكيننا من التركيز على تقديم ذلك.

C ++ / CLI


أضفنا دعمًا لإنشاء مكونات C ++ / CLI (AKA "تتم إدارة C ++") والتي يمكن استخدامها مع .NET Core 3.0+ ، في Visual Studio 2019 16.4. تحتاج إلى تثبيت عبء العمل "تطوير سطح المكتب باستخدام C ++" ومكون "دعم C ++ / CLI" من أجل استخدام C ++ / CLI.

يضيف هذا المكون قوالب زوجين يمكنك استخدامها:

  • مكتبة CLR Class (.NET Core)
  • مشروع CLR الخالي (.NET Core)

إذا لم تتمكن من العثور عليها ، فما عليك سوى البحث عنها في مربع الحوار New Project.

يتم تمكين C ++ / CLI فقط على Windows. لا يمكنك استخدام مكونات C ++ / CLI المستهدفة لبرنامج .NET Framework مع .NET Core أو العكس.

إغلاق


نوصي بالانتقال إلى .NET Core 3.1 بأسرع ما يمكن. إنه إصدار رائع (بدرجة كبيرة بسبب 3.0) يجلب تحسينات على العديد من جوانب .NET Core. إنه أيضًا إصدار دعم طويل المدى (LTS) ، وسيتم دعمه لمدة ثلاث سنوات.

تحديث دورة الحياة:

  • سيصل .NET Core 3.0 إلى ثلاثة أشهر من نهاية اليوم ، في 3 مارس 2020.
  • سوف .NET Core 2.2 نهاية كل يوم 23 ديسمبر.
  • سيتم دعم .NET Core 2.1 حتى أغسطس 2021 (وهو أيضًا إصدار LTS).

يوصى بقراءة .NET .NET التالية لمعرفة المزيد حول ما تحصل عليه مع .NET Core 3.1 والمشروعات الأخرى التي نعمل عليها.

أساسيات


سطح المكتب


ASP.NET


عام

Source: https://habr.com/ru/post/ar478896/


All Articles