امکان مهاجرت برنامههای .NET از Windows x64 یا x86 به Windows Arm64 در GitHub Copilot upgrade agent در دسترس است. این agent پروژهها را ارزیابی میکند، موانع سازگاری را پیدا میکند و پس از تهیه برنامه مهاجرت، به تغییر کد، dependencyها و تنظیمات پروژه کمک میکند. تمرکز این سناریو بر سازگاری و درستی اجرای برنامه است، نه performance tuning مخصوص Arm64.
موانع مهاجرت همیشه به یک تنظیم آشکار برای x64 محدود نیستند. ممکن است یک package به native library وابسته باشد که binary مناسب Arm64 ندارد، یا نسخه فعلی یک dependency با این معماری سازگار نباشد. فرضهای وابسته به معماری نیز میتوانند در کد، تنظیمات build و چند پروژه مختلف پراکنده باشند. تنظیماتی که فقط محیط x64 یا x86 را هدف میگیرند، از دیگر مواردی هستند که باید بررسی شوند.
upgrade agent برنامه و dependencyهای آن را از نظر سازگاری با Arm64 تحلیل میکند و اجزای پشتیبانینشده یا فرضهای وابسته به معماری را مشخص میکند. سپس بر اساس وضعیت همان کد، برنامه مهاجرت میسازد و تغییرات لازم را در کد، dependencyها و تنظیمات پروژه پیش میبرد. توسعهدهنده میتواند برنامه و تغییرات پیشنهادی را حین کار بررسی کند؛ هرجا هم به تصمیم یا اطلاعات او نیاز باشد، agent مشارکت او را درخواست میکند.
این agent میتواند اجزای مهاجرتکرده را برای Windows Arm64، build کند. اجرای testها نیز در صورت وجود سختافزار مناسب یا CI runner امکانپذیر است. بااینحال، موفقیت build تنها یک نقطه بررسی است: برای تأیید رفتار runtime، همچنان آزمایش روی Windows Arm64 لازم است. مسئولیت بررسی تغییرات و تصمیمهایی که به شناخت تیم از برنامه نیاز دارند، با تیم باقی میماند.
برای شروع، باید GitHub Copilot upgrade در محیط توسعه نصب شود. سپس با انتخاب upgrade agent از agent picker و درخواست مهاجرت برنامه .NET به Windows Arm64، سناریوی .NET Arm64 migration انتخاب میشود. پس از بررسی ارزیابی و برنامه پیشنهادی، agent تغییرات را انجام میدهد و مراحل نیازمند دخالت توسعهدهنده تکمیل میشوند. گام پایانی، اعتبارسنجی رفتار runtime روی سختافزار Windows Arm64 یا CI runner مناسب است. پس از این اعتبارسنجی میتوان عملکرد برنامه را در محیط واقعی اندازه گرفت و درباره نیاز به تنظیمات بیشتر تصمیم گرفت.





