خبر و ترفند روز

خبر و ترفند های روز را اینجا بخوانید!

چگونه برنامه خود را از Dotnet 5 به Dotnet 6 منتقل کنید

مایکروسافت رسماً .NET 5 را بازنشسته کرده است، بنابراین اگر می‌خواهید به پشتیبانی ادامه دهید، در اسرع وقت نصب شده و به .NET 6 ارتقا دهید.

فریم ورک دات نت (دات نت) اولین بار در اوایل سال 2000 منتشر شد. این یک چارچوب توسعه رایگان و منبع باز است که می توانید از آن برای توسعه طیف گسترده ای از برنامه ها استفاده کنید.

مایکروسافت پشتیبانی رسمی از .NET 5 را در 8 مه 2022 متوقف کرد. اگر اتفاقاً از دات نت 5 در برنامه های خود استفاده می کنید، به این معنی است که برنامه های شما در برابر نقض های امنیتی آسیب پذیرتر هستند. خوشبختانه، شما می توانید به راحتی برنامه های خود را به نسخه جدید LTS دات نت، نسخه 6، ارتقا یا انتقال دهید.

Dotnet 6 چیست؟

NET 6 نسخه LTS فعلی چارچوب دات نت است و در نوامبر 2021 منتشر شد.

می‌توانید با استفاده از NET 6 در ویندوز، لینوکس و macOS برنامه‌های کاربردی ایجاد کنید. همچنین به صورت بومی بر روی تراشه های سیلیکون اپل M1 و سیستم عامل های ویندوز مبتنی بر بازو پشتیبانی می شود.

چارچوب .NET 6 همچنین از توسعه برنامه های کاربردی در چندین زبان مانند C# (C-Sharp)، Visual Basic و F# (F-Sharp) پشتیبانی می کند.

یکی از مزیت های اصلی فریم ورک دات نت این است که می توانید طیف وسیعی از برنامه ها را با آن توسعه دهید. اینها شامل برنامه های وب، بازی ها، برنامه های تلفن همراه و برنامه های دسکتاپ است. علاوه بر این، چارچوب هم به خوبی آزمایش شده و هم مستند شده است.

در حال نصب .NET 6 SDK

شما باید NET SDK را روی رایانه شخصی خود نصب کنید تا بتوانید برنامه های NET را توسعه دهید.

مطلب مرتبط:   نحوه تولید UUID در Rust

به سادگی کیت توسعه نرم افزار دات نت 6 (SDK) را دانلود کنید، سپس آن را روی رایانه شخصی خود نصب کنید. SDK شامل تمام ابزارهای مورد نیاز برای توسعه نرم افزار در NET 6 است.

پس از اتمام نصب، می توانید SDK های موجود در رایانه شخصی خود را با استفاده از دستور NET CLI زیر فهرست کنید:

dotnet --list-sdks

اگر به سادگی می خواهید نسخه ای را که در آن هستید بررسی کنید، می توانید دستور زیر را اجرا کنید:

dotnet --version

دانلود: .NET 6 (رایگان)

به روز رسانی چارچوب هدف

ارتقا را با به روز رسانی چارچوب هدف دات نت آغاز کنید. برنامه وب شما حاوی یک نام فریمورک هدف است که به برنامه شما می گوید از چه نوع زمان اجرا دات نت استفاده کند.

چارچوب هدف برای برنامه وب شما در فایل XML پروژه برنامه شما قرار دارد. پسوند .csproj دارد. فایل پروژه برنامه را باز کنید و نام TargetFramework واقع در زیر تگ PropertyGroup را از net5.0 به net6.0 به روز کنید.


<PropertyGroup>
    <!-- <TargetFramework>net5.0</TargetFramework> -->
    <TargetFramework>net6.0</TargetFramework>
 
    <UserSecretsId>xxx33795-1b05-xxxx-926f-dcc112c2xxxd</UserSecretsId>
    <DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
</PropertyGroup>

اگر برنامه شما از فایل global.json استفاده می کند، مطمئن شوید که نسخه SDK را به “نسخه” به روز می کنید: “6.0.100”.

به روز رسانی مراجع بسته

مرحله بعدی این است که مراجع بسته برنامه یا وابستگی های بسته NuGet خود را به روز کنید. چارچوب دات نت بسیار ماژولار است و بر روی مفهوم تزریق وابستگی کار می کند. مراجع بسته NuGet شما در فایل پروژه .csproj، تحت تگ قرار دارد.

مطلب مرتبط:   Next.js Data Management: ذخیره و واکشی داده های MongoDB با استفاده از Mongoose

تعداد بسته های NuGet بسته به اندازه برنامه شما و پیچیدگی آن متفاوت خواهد بود.

اولین عدد در نسخه بسته NuGet معمولاً نشان می دهد که کدام چارچوب دات نت را هدف قرار می دهد، در این مورد 6. مطمئن شوید که تمام بسته های NuGet را به روز می کنید تا چارچوب هدف شما را منعکس کند. کد زیر لیست کد بسته جدید را به صورت پررنگ نشان می دهد. بسته های NuGet قدیمی اظهار نظر می شوند.

<ItemGroup>
    <!-- <PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="5.0.13" /> -->
    <!-- <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="5.0.9"> -->
    <PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="6.0.3" />
 
    <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="6.0.3">
        <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
        <PrivateAssets>all</PrivateAssets>
    </PackageReference>
 
    <!-- <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="5.0.9" /> -->
    <!-- <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="5.0.2" /> -->
    <!-- <PackageReference Include="Swashbuckle.AspNetCore" Version="5.6.3" /> -->
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="6.0.3" />
    <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="6.0.2" />
    <PackageReference Include="Swashbuckle.AspNetCore" Version="6.3.0" />
</ItemGroup>

به روز رسانی دایرکتوری اشکال زدایی

اگر از Visual Studio Code (VS Code) برای توسعه خود استفاده می کنید، مهم است که خط زیر را در فایل launch.json به روز کنید. VS Code از مقدار ویژگی برنامه برای ذخیره مسیر دیباگر استفاده می کند. اگر پوشه دیباگر را به روز نکنید، برنامه شما همچنان خوب کار می کند، اما نمی توانید اشکال زدای VS Code را اجرا کنید.

مطلب مرتبط:   نحوه ادغام سرویس احراز هویت Auth0 با یک برنامه React

VS Code یک ویرایشگر چند پلتفرمی با پشتیبانی از اشکال زدایی کد در میان سایر ویژگی های قدرتمند است. حتی می توانید آن را روی تراشه های مبتنی بر ARM مانند Raspberry Pi نصب کنید.

فهرست کد که پوشه مسیر اشکال زدا به روز شده را نشان می دهد

مدل میزبانی حداقل

یکی از به روز رسانی های اصلی فریم ورک جدید دات نت 6، رویکرد میزبانی حداقلی است. به طور پیش‌فرض، برنامه‌های NET 6 جدید حاوی فایل startup.cs نیستند. پیکربندی سرویس و راه‌اندازی برنامه در فایل program.cs اتفاق می‌افتد. برنامه های قدیمی به خوبی به کار خود ادامه می دهند، اما در نظر داشته باشید که در آینده آنها را به حداقل هاست به روز کنید.

توجه: هنگام مهاجرت به NET 6 نیازی به استفاده از حداقل هاست ندارید.

به NET 6 مهاجرت کنید

دات نت 6 جدیدترین نسخه پشتیبانی طولانی مدت از چارچوب دات نت است. اگر هنوز از دات نت 5 در برنامه خود استفاده می کنید، وقت آن رسیده است که آن را به دات نت 6 ارتقا دهید.

توسعه دهندگان فریمورک های مفید زیادی را در بالای دات نت ساخته اند، مانند ASP.NET، چارچوب برنامه های وب. ASP.NET یک پلتفرم منبع باز است که به شما اجازه می دهد تا برنامه های قدرتمند را به سرعت ایجاد کنید. شاید اکنون بیش از 20 سال از عمر آن گذشته باشد، اما هنوز تقاضای زیادی برای ASP.NET وجود دارد.