تغییرات مهم و برجسته در مهاجرت به داتنت 10
نویسنده: وحید نصیری
تاریخ: ۱۴۰۴/۰۷/۲۷ ۰۹:۳۶
آدرس: www.dntips.ir
| مطالب | ۳۶۹۴ |
| نویسندگان | ۲۷۶ |
| گروههای مطالب | ۱۰۲۴ |
| نقشههای راه | ۱۱۹ |
| دورهها | ۱۴ |
| اشتراکها | ۱۷۹۱۴ |
IWebHost بهصورت رسمی در داتنت 10 منسوخ شده است و از این پس باید از IHost استفاده شود. برنامههای قدیمی (حتی تا داتنت 9) ممکن است بدون هشدار از IWebHost استفاده کرده باشند. اگر تنظیم را فعال کردهاید، این تغییر میتواند یک مشکل شکستآمیز ایجاد کند. با این حال، رفع این مسئله نسبتاً ساده است و با جایگزینی IWebHost با IHost قابل انجام است.dotnet restore اکنون بهصورت پیشفرض نهتنها وابستگیهای مستقیم، بلکه بستههای ترانزیتیو (وابستگیهای غیرمستقیم) را نیز بررسی میکند. این تغییر میتواند در صورت فعال بودن به یک مانع تبدیل شود. توسعهدهندگان باید از این موضوع آگاه باشند، زیرا ممکن است نیاز به جایگزینی کتابخانهها، به تعویق انداختن مهاجرت یا اقدامات دیگری داشته باشند.SpanوReadOnlySpanSpan و ReadOnlySpan اکنون از تبدیل ضمنی پشتیبانی میکنند. این قابلیت ممکن است در برخی موارد باعث ابهام شود. توسعهدهندگان باید هنگام استفاده از این ساختارها این موضوع را در نظر داشته باشند.dotnet new sln اکنون بهصورت پیشفرض فایلهایی با فرمت جدید .slnx ایجاد میکند. این تغییر معمولاً مشکلی ایجاد نمیکند، اما یادآوری خوبی است که پروژهها باید از فرمت قدیمی به فرمت جدید مبتنی بر XML که در داتنت 9 معرفی شده بود، مهاجرت کنند. این یکی از بهروزرسانیهای محبوب در این نسخه است.field را برای ویژگیهای پشتیبانیشده توسط فیلد معرفی کرده است. این تغییر معمولاً مشکلی ایجاد نمیکند، مگر در مواردی که ویژگیها از فیلدهای پشتیبانی با نام field استفاده کنند. در این صورت، کافی است فیلد پشتیبانی حذف شده و از کلمه کلیدی جدید field استفاده شود. این مشکل بهاحتمال زیاد رایج نیست، زیرا POCOها عمدتاً از ویژگیهای خودکار استفاده میکنند و موجودیتها یا اشیاء دامنه معمولاً اعتبارسنجی سادهای در متدها دارند.AsyncEnumerable که پیشتر بهصورت جداگانه در بسته System.Linq.Async میزبانی میشد، اکنون بخشی از کتابخانه پایه یکپارچه داتنت است. هنگام مهاجرت، مطمئن شوید که بسته NuGet قدیمی حذف شده است تا از ایجاد ابهام جلوگیری شود.IWebHost، بررسی بستههای ترانزیتیو، تغییر در تصاویر داکر، و قابلیتهای جدید مانند تبدیل ضمنی در Span و فرمت .slnx است. با برنامهریزی مناسب و توجه به این نکات، میتوانید مهاجرتی روان و بدون مشکل به داتنت 10 داشته باشید.