Optimalkan aplikasi desktop .NET Anda dengan gambar asli

Anda dapat meningkatkan waktu mulai aplikasi .NET Framework Anda dengan mengkompilasi biner Anda sebelumnya. Anda dapat menggunakan teknologi ini pada aplikasi besar yang Anda kemas dan distribusikan melalui Microsoft Store. Dalam beberapa kasus, kami telah mengamati peningkatan performa 20%. Anda dapat mempelajari lebih lanjut tentang teknologi ini dalam gambaran umum teknis.

Kami telah merilis pengkompilasi gambar asli sebagai paket NuGet. Anda dapat menerapkan paket ini ke aplikasi .NET Framework apa pun yang menargetkan .NET Framework versi 4.6.2 atau yang lebih baru. Paket ini menambahkan langkah pasca build yang menyertakan payload asli ke semua biner yang digunakan oleh aplikasi Anda. Payload yang dioptimalkan ini akan dimuat ketika aplikasi berjalan di .NET 4.7.2 ke atas sementara versi sebelumnya masih akan memuat kode MSIL.

.NET framework 4.7.2 disertakan dalam pembaruan Windows 10 April 2018. Anda juga dapat menginstal versi .NET Framework ini pada PC yang berjalan Windows 7+ dan Windows Server 2008 R2+.

Penting

Jika Anda ingin menghasilkan gambar asli untuk aplikasi Anda yang dikemas oleh proyek Windows Application Packaging, pastikan untuk mengatur versi Minimum Platform Target dari proyek ke Windows Anniversary Update.

Cara menghasilkan gambar asli

Ikuti instruksi ini untuk mengonfigurasi proyek Anda.

  1. Mengonfigurasi kerangka kerja target sebagai 4.6.2 atau lebih tinggi

  2. Mengonfigurasi platform target sebagai x86 atau x64

  3. Tambahkan paket NuGet.

  4. Buat Build Rilis.

Mengonfigurasi kerangka kerja target sebagai 4.6.2 atau lebih tinggi

Untuk mengonfigurasi proyek Anda agar menargetkan .NET Framework 4.6.2, Anda memerlukan alat pengembangan .NET Framework 4.6.2 atau yang lebih baru. Alat-alat ini tersedia melalui alat penginstal Visual Studio sebagai komponen opsional di bawah beban kerja pengembangan desktop .NET:

Install .NET 4.6.2 development tools

Atau, Anda bisa mendapatkan paket pengembang .NET dari: https://www.microsoft.com/net/download/visual-studio-sdks

Mengonfigurasi platform target sebagai x86 atau x64

Pengkompilasi gambar asli mengoptimalkan kode untuk platform tertentu. Untuk menggunakannya, Anda perlu mengonfigurasi aplikasi untuk menargetkan satu platform tertentu seperti x86 atau x64.

Jika Anda memiliki beberapa proyek dalam solusi Anda, hanya proyek titik masuk (kemungkinan besar proyek yang menghasilkan file yang dapat dieksekusi) harus dikompilasi sebagai x86 atau x64. Biner tambahan yang direferensikan dari proyek utama akan diproses dengan arsitektur yang ditentukan dalam proyek utama, bahkan jika dikompilasi sebagai AnyCPU.

Untuk mengonfigurasi proyek Anda:

  1. Klik kanan solusi Anda, lalu pilih Configuration Manager.

  2. Pilih <Baru ..> di menu dropdown Platform di samping nama proyek yang menghasilkan file yang dapat dieksekusi.

  3. Dalam kotak dialog Platform Project Baru, pastikan bahwa daftar dropdown Salin Pengaturan dari diatur ke CPU Apa pun.

Configure x86

Ulangi langkah ini jika Release/x64 Anda ingin menghasilkan biner x64.

Penting

Konfigurasi AnyCPU tidak didukung oleh pengkompilasi gambar asli.

Menambahkan paket NuGet

Pengkompilasi gambar asli disediakan sebagai paket NuGet yang perlu Anda tambahkan ke proyek Visual Studio yang menghasilkan file yang dapat dieksekusi. Ini biasanya merupakan proyek Formulir Windows atau WPF Anda. Gunakan perintah PowerShell ini untuk melakukannya.

PM> Install-Package Microsoft.DotNet.Framework.NativeImageCompiler -Version 1.0.0

Membuat Build Rilis

Paket NuGet mengonfigurasi proyek untuk menjalankan alat tambahan untuk build rilis. Alat ini menambahkan kode asli ke biner yang sama. Untuk memverifikasi bahwa alat telah memproses biner, Anda dapat meninjau output build untuk memastikan alat tersebut menyertakan pesan seperti ini:

Native image obj\x86\Release\\R2R\DesktopApp1.exe generated successfully.

Kompilasi gambar asli dapat dipicu pada build non-rilis dengan mengatur properti NgenR2R ke true dalam file proyek.

FAQ

T. Apakah biner baru bekerja pada mesin tanpa .NET Framework 4.7.2?

J. Biner yang dioptimalkan akan mendapat manfaat dari peningkatan saat berjalan dengan .NET Framework 4.7.2. Klien yang menjalankan versi .NET framework sebelumnya akan memuat kode MSIL yang tidak dioptimalkan dari biner.

T. Bagaimana cara memberikan umpan balik atau melaporkan masalah?

J. Laporkan masalah dengan menggunakan alat Umpan Balik di Visual Studio 2017. Informasi selengkapnya.

T. Apa dampak menambahkan gambar asli ke biner yang ada?

J. Biner yang dioptimalkan berisi kode terkelola dan asli, membuat file akhir lebih besar.

T. Dapatkah saya merilis biner menggunakan teknologi ini?

J. Versi ini mencakup lisensi Go Live yang dapat Anda gunakan hari ini.