Bagikan melalui


Migrasi dari Formulir Windows .NET Framework ke .NET

Artikel ini menjelaskan cara meningkatkan aplikasi desktop Formulir Windows ke .NET menggunakan Asisten Peningkatan .NET. Formulir Windows tetap menjadi kerangka kerja khusus Windows, meskipun .NET adalah teknologi lintas platform.

Prasyarat

Penilaian

Anda harus menganalisis proyek Anda sebelum melakukan peningkatan. Melakukan analisis kode pada proyek Anda dengan Asisten Peningkatan .NET menghasilkan laporan yang dapat Anda rujuk, untuk mengidentifikasi potensi pemblokir migrasi.

Untuk menganalisis proyek Anda dan membuat laporan, klik kanan pada file solusi di Penjelajah Solusi dan pilih Tingkatkan. Untuk informasi selengkapnya tentang melakukan analisis, lihat Menganalisis proyek dengan Asisten Peningkatan .NET.

Memigrasikan dependensi

Jika Anda meningkatkan beberapa proyek, mulailah dengan proyek yang tidak memiliki dependensi. Dalam sampel Game Pencocokan, proyek MatchingGame bergantung pada pustaka MatchingGame.Logic , sehingga MatchingGame.Logic harus ditingkatkan terlebih dahulu.

Tip

Pastikan untuk memiliki cadangan kode Anda, seperti di kontrol sumber atau salinan.

Gunakan langkah-langkah berikut untuk meningkatkan proyek di Visual Studio:

  1. Klik kanan pada proyek MatchingGame.Logic di jendela Penjelajah Solusi dan pilih Tingkatkan:

    Cuplikan layar item menu Peningkatan Asisten Peningkatan .NET di Visual Studio.

    Tab baru dibuka yang meminta Anda untuk memilih peningkatan mana yang ingin Anda lakukan.

  2. Pilih Peningkatan proyek di tempat.

    Cuplikan layar tab Asisten Peningkatan .NET. Opsi 'Peningkatan proyek di tempat' disorot.

  3. Selanjutnya, pilih kerangka kerja target.

    Berdasarkan jenis proyek yang Anda tingkatkan, Anda disajikan dengan opsi yang berbeda. .NET Standard 2.0 dapat digunakan oleh .NET Framework dan .NET. Ini adalah pilihan yang baik jika pustaka tidak bergantung pada teknologi desktop seperti Formulir Windows, yang dilakukan proyek ini.

    Pilih .NET 9.0 lalu pilih Berikutnya.

    Cuplikan layar Asisten Peningkatan .NET. Permintaan kerangka kerja target terbuka dan .NET 8 disorot bersama dengan tombol 'Berikutnya'.

  4. Pohon ditampilkan dengan semua artefak yang terkait dengan proyek, seperti file kode dan pustaka. Anda dapat meningkatkan artefak individual atau seluruh proyek, yang merupakan default. Pilih Tingkatkan pilihan untuk memulai peningkatan.

    Cuplikan layar Asisten Peningkatan .NET. Halaman 'Pilih Komponen' terbuka dengan tombol 'Tingkatkan pilihan' disorot.

  5. Setelah peningkatan selesai, hasilnya ditampilkan:

    Cuplikan layar tab hasil peningkatan .NET Upgrade Assistant, memperlihatkan item yang dimigrasikan dari proyek.

    Artefak dengan lingkaran hijau padat ditingkatkan sementara lingkaran hijau kosong dilewati. Artefak yang dilewati berarti bahwa asisten peningkatan tidak menemukan apa pun untuk ditingkatkan.

Sekarang setelah pustaka pendukung aplikasi ditingkatkan, tingkatkan aplikasi utama.

Catatan untuk proyek Visual Basic

Saat ini, Asisten Peningkatan .NET tidak mengenali penggunaan System.Configuration dalam file pengaturan yang dibuat oleh templat Visual Basic pada .NET Framework. Ini juga tidak menghormati penggunaan ekstensi yang My digunakan dalam proyek .NET Framework, seperti My.Computer dan My.User. Ekstensi ini dihapus di .NET. Karena kedua masalah ini, pustaka Visual Basic tidak akan dikompilasi setelah dimigrasikan dengan Asisten Peningkatan .NET.

Untuk memperbaiki masalah ini, proyek harus menargetkan Windows dan referensi Formulir Windows.

  1. Setelah migrasi selesai, klik dua kali proyek MatchingGame.Logic di jendela Penjelajah Solusi.
  2. Temukan <Project>/<PropertyGroup> elemennya.
  3. Di editor XML, ubah nilai dari <TargetFramework>net9.0 menjadi net9.0-windows.
  4. Tambahkan <UseWindowsForms>true</UseWindowsForms> ke baris setelah <TargetFramework>.

Pengaturan proyek akan terlihat seperti cuplikan berikut:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>net9.0-windows</TargetFramework>
    <UseWindowsForms>true</UseWindowsForms>
    <OutputType>Library</OutputType>
    <MyType>Windows</MyType>

    ... other settings removed for brevity ...

Memigrasikan proyek utama

Setelah semua pustaka pendukung ditingkatkan, proyek aplikasi utama dapat ditingkatkan. Dengan contoh aplikasi, hanya ada satu proyek pustaka yang akan ditingkatkan, yang ditingkatkan di bagian sebelumnya.

  1. Klik kanan pada proyek MatchingGame di jendela Penjelajah Solusi dan pilih Tingkatkan:
  2. Pilih Peningkatan proyek di tempat.
  3. Pilih .NET 9.0 untuk kerangka kerja target dan pilih Berikutnya.
  4. Biarkan semua artefak dipilih dan pilih Pilihan peningkatan.

Setelah peningkatan selesai, hasilnya ditampilkan. Perhatikan bagaimana proyek Formulir Windows memiliki simbol peringatan. Perluas item tersebut dan informasi selengkapnya diperlihatkan tentang langkah tersebut:

Cuplikan layar tab hasil peningkatan .NET Upgrade Assistant, memperlihatkan beberapa item hasil memiliki simbol peringatan.

Perhatikan bahwa komponen peningkatan proyek menyebutkan bahwa font default berubah. Karena font mungkin memengaruhi tata letak kontrol, Anda perlu memeriksa setiap formulir dan kontrol kustom dalam proyek Anda untuk memastikan UI diatur dengan benar.

Membuat build bersih

Setelah proyek utama Anda ditingkatkan, bersihkan dan kompilasi.

  1. Klik kanan pada proyek MatchingGame di jendela Penjelajah Solusi dan pilih Bersihkan.
  2. Klik kanan pada proyek MatchingGame di jendela Penjelajah Solusi dan pilih Bangun.

Jika aplikasi Anda mengalami kesalahan, Anda dapat menemukannya di jendela Daftar Kesalahan dengan rekomendasi cara memperbaikinya.

Proyek Formulir Windows Matching Game Sample sekarang ditingkatkan ke .NET 9.

Pengalaman pasca-peningkatan

Jika Anda memindahkan aplikasi dari .NET Framework ke .NET, tinjau artikel Modernisasi setelah memutakhirkan ke .NET dari .NET Framework .

  • Porting dari .NET Framework ke .NET.

    Panduan port memberikan gambaran umum tentang apa yang harus Anda pertimbangkan saat memindahkan kode Anda dari .NET Framework ke .NET. Kompleksitas proyek Anda menentukan berapa banyak pekerjaan yang akan Anda lakukan setelah migrasi awal file proyek.

  • Modernisasi setelah memutakhirkan ke .NET dari .NET Framework.

    Dunia .NET telah banyak berubah sejak .NET Framework. Tautan ini menyediakan beberapa informasi tentang cara memodernisasi aplikasi setelah Anda meningkatkan.