Apa itu modernisasi GitHub Copilot?

GitHub Copilot modernisasi adalah agen GitHub Copilot yang membantu Anda meningkatkan proyek ke versi .NET yang lebih baru dan memigrasikan aplikasi .NET untuk Azure dengan cepat dan percaya diri. Ini memandu Anda melalui penilaian, rekomendasi solusi, perbaikan kode, dan validasi di Visual Studio, Visual Studio Code, GitHub Copilot CLI, dan GitHub.com.

Gunakan agen ini untuk:

  • Tingkatkan ke versi .NET yang lebih baru.
  • Migrasikan teknologi dan sebarkan ke Azure.
  • Modernisasi aplikasi .NET Anda, terutama saat meningkatkan dari .NET Framework.
  • Menilai kode, konfigurasi, dan dependensi aplikasi Anda.
  • Rencanakan dan siapkan sumber daya Azure yang tepat.
  • Perbaiki masalah dan terapkan praktik terbaik untuk migrasi cloud.
  • Validasi bahwa aplikasi Anda berhasil dibuat dan diuji.

Skenario

Agen menyediakan beberapa alur kerja modernisasi end-to-end yang disebut skenario. Setiap skenario adalah alur kerja terkelola yang memandu Anda melalui jenis peningkatan atau migrasi tertentu:

Skenario Deskripsi Contoh tanggapan
peningkatan versi .NET Peningkatan dari versi .NET yang lebih lama ke .NET 8, 9, 10, atau yang lebih baru. "Tingkatkan solusi saya ke .NET 10"
Konversi gaya SDK Mengonversi format proyek warisan ke gaya SDK. "Konversi ke gaya SDK"
Peningkatan Newtonsoft.Json Mengganti Newtonsoft.Json dengan System.Text.Json. "Memperbarui dari Newtonsoft.Json"
Peningkatan SqlClient Peningkatan dari System.Data.SqlClient ke Microsoft. Data.SqlClient. "Perbarui SqlClient"
peningkatan Azure Functions Meningkatkan Azure Functions dari dalam proses ke model pekerja yang terisolasi. "Tingkatkan Azure Functions saya"
Kernel Semantik untuk Agen Meningkatkan Agen Kernel Semantik ke Kerangka Kerja Agen Microsoft. "Tingkatkan agen SK saya"

Untuk referensi lengkap semua skenario dan 30+ keterampilan peningkatan yang sudah terpasang, lihat Skenario dan referensi keterampilan.

Berikan umpan balik

Microsoft nilai umpan balik Anda dan menggunakannya untuk meningkatkan agen. Tinggalkan umpan balik menggunakan salah satu opsi ini:

Prasyarat

Siapkan modernisasi GitHub Copilot di lingkungan pengembangan Anda sebelum menggunakan agen. Untuk langkah-langkah penginstalan, lihat Penginstalan Modernisasi GitHub Copilot.

Meningkatkan proyek .NET

Agen modernisasi mendukung pemutakhiran proyek C# dan Visual Basic dari jenis proyek berikut:

  • ASP.NET Core (dan teknologi terkait seperti MVC, Razor Pages, dan Web API)
  • Blazor
  • Azure Functions
  • Windows Presentation Foundation (WPF)
  • Formulir Windows
  • WinUI
  • .NET MAUI dan Xamarin
  • Pustaka kelas
  • Aplikasi konsol
  • Proyek pengujian (MSTest, NUnit, dan xUnit)

Untuk memulai peningkatan, lihat Mutakhirkan aplikasi .NET dengan modernisasi GitHub Copilot.

Jalur peningkatan yang didukung

Agen mendukung jalur peningkatan berikut:

Sumber Target
.NET Framework (versi apa pun) .NET 8 atau yang lebih baru
.NET Core 1.x–3.x .NET 8 atau yang lebih baru
.NET 5 atau yang lebih baru .NET 8 atau yang lebih baru

Memigrasikan proyek .NET ke Azure

Agen modernisasi menyederhanakan migrasi Azure melalui analisis otomatis, remediasi kode berbasis AI, pemeriksaan build dan kerentanan, dan otomatisasi penyebaran:

  • Analisis dan rekomendasi cerdas.

    Menilai kesiapan aplikasi Anda untuk migrasi Azure dan menerima panduan yang disesuaikan berdasarkan dependensi dan masalah yang diidentifikasi.

  • Remediasi kode yang didukung AI.

    Terapkan pola kode praktik terbaik yang telah ditentukan sebelumnya untuk mempercepat modernisasi dengan upaya manual minimal.

  • Pembangunan otomatis dan penyelesaian CVE.

    Buat aplikasi Anda dan atasi kesalahan dan kerentanan kompilasi, permudah pengembangan.

  • Penyebaran yang mulus.

    Sebarkan ke Azure, mengambil kode Anda dari pengembangan ke produksi lebih cepat.

Tugas yang telah ditentukan sebelumnya untuk migrasi

Modernisasi GitHub Copilot untuk .NET menawarkan tugas yang telah ditentukan sebelumnya, mengikuti praktik terbaik industri dan mencakup skenario migrasi umum.

  • Migrate ke Database berbasis Identitas Terkelola pada Azure, termasuk Azure SQL DB, Azure SQL MI, dan Azure PostgreSQL

    Modernisasi lapisan data Anda dengan bermigrasi dari database lokal atau warisan (seperti DB2, Oracle DB, atau SQL Server) ke Azure SQL DB, Azure SQL Managed Instance, atau Azure PostgreSQL. Gunakan autentikasi identitas terkelola yang aman.

  • Migrasikan ke Penyimpanan File Azure

    Pindahkan operasi I/O file dari sistem file lokal ke Azure File Storage untuk manajemen file berbasis cloud yang dapat diskalakan.

  • Migrasi ke Azure Blob Storage

    Gantikan penyimpanan objek di lokasi atau lintas cloud, atau I/O file pada sistem file lokal, dengan Azure Blob Storage untuk data tidak terstruktur.

  • Migrate ke Microsoft Entra ID

    Autentikasi dan otorisasi transisi dari Windows Direktori Aktif ke Microsoft Entra ID (sebelumnya Azure AD) untuk manajemen identitas modern.

  • Migrasi ke kredensial yang aman dengan menggunakan Identitas Terkelola dan Azure Key Vault

    Ganti kredensial teks biasa dalam konfigurasi atau kode dengan identitas terkelola yang aman dan Azure Key Vault untuk manajemen rahasia.

  • Migrate ke Azure Service Bus

    Berpindah dari antrean pesan lama atau pihak ketiga (seperti MSMQ atau RabbitMQ) atau Amazon SQS (AWS Simple Queue Service) ke Azure Service Bus untuk olahpesan berbasis cloud yang andal.

  • Migrasi ke layanan email Azure Communication Service

    Ganti pengiriman email SMTP langsung dengan Azure Communication Service untuk pengiriman email yang dapat diskalakan dan aman.

  • Migrasi ke Confluent Cloud/Azure Event Hub untuk Apache Kafka

    Transisi dari Kafka lokal atau lokal ke streaming acara terkelola dengan Confluent Cloud atau Azure Event Hubs.

  • Migrasi ke OpenTelemetry di Azure

    Transisi dari kerangka kerja pengelogan lokal seperti log4net, Serilog, dan log peristiwa Windows ke OpenTelemetry di Azure.

  • Migrasi ke Azure Cache for Redis dengan menggunakan Identitas Terkelola

    Ganti implementasi cache Redis dalam memori atau lokal dengan Azure Cache for Redis untuk ketersediaan tinggi, skalabilitas, dan keamanan tingkat perusahaan.

Cara kerjanya

Untuk memulai proses peningkatan atau migrasi, lihat:

  1. Buka proyek atau solusi .NET Anda di lingkungan pengembangan Anda.

  2. Mulai agen dengan menggunakan salah satu metode ini:

    • Visual Studio: Klik kanan solusi atau proyek di Penjelajah Solusi dan pilih Modernize. Atau, buka jendela GitHub Copilot Chat dan ketik @Modernize.
    • Visual Studio Code: Buka panel GitHub Copilot Chat dan ketik @modernize-dotnet.
    • GitHub Copilot CLI: Ketik @modernize-dotnet diikuti oleh permintaan peningkatan atau migrasi Anda.
    • GitHub.com: Gunakan agen pengodean modernize-dotnet di repositori Anda.
  3. Beritahu agen apa yang harus ditingkatkan atau dimigrasikan.

Saat Anda meminta agen modernisasi untuk meningkatkan aplikasi, Copilot terlebih dahulu meminta Anda untuk membuat cabang baru jika Anda bekerja di repositori Git. Kemudian Copilot menilai proyek Anda dan menjalankan alur kerja tiga tahap. Setiap tahap menghasilkan file Markdown di bawah .github/upgrades/{scenarioId} repositori Anda sehingga Anda dapat meninjau apa yang akan datang berikutnya sebelum melanjutkan. Jika .github/upgrades/{scenarioId} sudah ada dari upaya sebelumnya, Copilot bertanya apakah akan melanjutkan atau memulai dari awal.

Copilot dimulai dengan memeriksa struktur proyek, dependensi, dan pola kode Anda untuk membangun penilaian komprehensif. File assessment.md mencantumkan perubahan yang merusak, masalah kompatibilitas API, pola yang tidak direkomendasikan lagi, dan cakupan peningkatan.

Setelah penilaian, Copilot menjalankan tiga tahap berikut:

  1. Assessment: Copilot memeriksa struktur proyek, dependensi, dan pola kode Anda, lalu menyajikan keputusan strategi untuk tinjauan Anda, seperti strategi peningkatan (bottom-up, top-down, atau all-at-once), pendekatan peningkatan proyek, opsi modernisasi teknologi, dan penanganan kompatibilitas. Copilot menyimpan keputusan yang dikonfirmasi ke upgrade-options.md.

  2. Planning: Copilot mengonversi penilaian dan opsi yang dikonfirmasi menjadi spesifikasi terperinci. Dokumen file strategi peningkatan, pendekatan refaktorisasi, jalur dependensi, dan mitigasi risiko.

  3. Execution: Copilot memecah rencana menjadi tugas konkret berurutan dengan kriteria validasi di tasks.md. Setiap tugas menjelaskan satu perubahan dan bagaimana Copilot mengonfirmasinya berhasil.

Edit salah satu file Markdown di .github/upgrades/{scenarioId} untuk menyesuaikan langkah-langkah peningkatan atau menambahkan konteks sebelum Anda maju.

Meningkatkan strategi

Selama tahap penilaian, agen mengevaluasi solusi Anda dan merekomendasikan salah satu strategi ini:

Strategi Paling cocok untuk Deskripsi
Bawah ke atas Solusi besar dengan grafik dependensi mendalam Meningkatkan proyek tingkat bawah terlebih dahulu, lalu bekerja ke atas.
Atas ke bawah Umpan balik cepat tentang aplikasi utama Meningkatkan proyek aplikasi terlebih dahulu, lalu memperbaiki dependensi.
All-at-once Solusi kecil dan sederhana Meningkatkan semua proyek dalam satu putaran.

Mode jalur

Agen mendukung dua mode alur yang mengontrol berapa banyak jeda untuk input Anda:

  • Otomatis: Agen bekerja melalui semua tahap tanpa menjeda, berhenti hanya pada pemblokir asli. Terbaik untuk pengguna berpengalaman dan melakukan peningkatan yang sederhana.
  • Dipandu: Agen berhenti sejenak di setiap batas tahap sehingga Anda dapat meninjau penilaian, rencana, dan tugas sebelum melanjutkan. Terbaik untuk pengguna pertama kali dan solusi kompleks.

Beralih antar mode kapan saja dengan mengatakan "jeda" (untuk memasuki mode terpandu) atau "lanjutkan" (untuk memasuki mode otomatis).

Pengelolaan Keadaan

Agen menyimpan semua status peningkatan di .github/upgrades/{scenarioId}/. Folder berisi:

File Kegunaan
assessment.md Analisis solusi Anda
upgrade-options.md Keputusan peningkatan yang dikonfirmasi
plan.md Rencana tugas yang diurutkan
tasks.md Dasbor kemajuan langsung
scenario-instructions.md Memori persisten agen, termasuk preferensi, keputusan, dan instruksi kustom
execution-log.md Jejak audit terperinci dari semua perubahan
tasks/{taskId}/task.md Cakupan dan konteks per tugas
tasks/{taskId}/progress-details.md Catatan dan hasil eksekusi per tugas

Karena semua status berada di folder ini, Anda dapat menutup IDE Anda, beralih antar sesi, atau bahkan beralih antar lingkungan pengembangan (misalnya, mulai di Visual Studio Code dan melanjutkan di Visual Studio). Agen melanjutkan dari titik terakhirnya.

Petunjuk / Saran

Terapkan .github/upgrades/ folder ke cabang Anda. Status berkomitmen berfungsi sebagai cadangan dan memungkinkan anggota tim melihat kemajuan peningkatan.

Lakukan peningkatan

Setelah setiap tahap selesai, tinjau dan ubah file yang dihasilkan sesuai kebutuhan, lalu beri tahu Copilot untuk melanjutkan ke tahap berikutnya.

Ketika Anda mencapai tahap Execution, beri tahu Copilot untuk memulai peningkatan. Jika Copilot mengalami masalah, Copilot mencoba mengidentifikasi penyebabnya dan menerapkan perbaikan. Jika Copilot tidak dapat memperbaiki masalah, Copilot meminta bantuan Anda. Saat Anda melakukan intervensi, Copilot belajar dari perubahan yang Anda buat dan mencoba menerapkannya secara otomatis jika masalah muncul lagi.

Peningkatan hasil

Saat Copilot menjalankan setiap tugas, ia memperbarui file tasks.md di .github/upgrades/{scenarioId} dengan status setiap langkah. Pantau kemajuan dengan meninjau file ini. Copilot membuat commit Git untuk setiap bagian proses, sehingga Anda dapat membatalkan perubahan atau meninjau perubahan.

Setelah peningkatan selesai, Copilot menampilkan langkah berikutnya dalam respons obrolan.

Telemetri

Alat ini mengumpulkan data tentang jenis proyek, niat untuk meningkatkan, dan meningkatkan durasi. Lingkungan pengembangan mengumpulkan dan menggabungkan data dan tidak berisi informasi yang dapat diidentifikasi pengguna. Untuk informasi selengkapnya tentang kebijakan privasi Microsoft, lihat Visual Studio Program Peningkatan Pengalaman Pelanggan.