|
|
Dipaparkan pada 2019-9-28 16:38:47
|
|
|
|

Beberapa hari yang lalu, Microsoft merilis .NET Core 3.0, dan salah satu peningkatan terbesar adalah dukungan untuk aplikasi desktop Windows (hanya Windows). Dengan menggunakan .NET Core 3.0 SDK Windows Desktop Component, Anda dapat mem-port aplikasi Windows Forms dan Windows Presentation Foundation (WPF). Untuk lebih jelasnya, komponen desktop Windows didukung dan hanya disertakan di Windows.
Alamat unduhan SDK:Login hyperlink terlihat.
Tautan untuk memperkenalkan fitur .NET Core:
Login hyperlink terlihat.
Login hyperlink terlihat.
Fitur antara lain sebagai berikut:
- Gunakan C# untuk membangun aplikasi web klien yang kaya dan interaktif.
- Gunakan gRPC untuk membuat layanan backend berperforma tinggi.
- SignalR sekarang mendukung koneksi ulang otomatis dan alur klien-ke-server.
- Gunakan dokumentasi OpenAPI untuk menghasilkan kode klien yang diketik dengan kuat untuk API Web.
- Perutean titik akhir terintegrasi melalui kerangka kerja.
- Kestrel mengaktifkan HTTP/2 secara default.
- API web terintegrasi dan dukungan autentikasi aplikasi satu halaman.
- Sertifikat dan autentikasi Kerberos didukung.
- Mengintegrasikan serializer System.Text.Json baru.
- Hosting universal baru menyiapkan layanan terkelola umum seperti injeksi dependensi, konfigurasi, dan pencatatan.
- Templat Layanan Pekerja baru untuk membangun layanan jangka panjang.
- Penghitung Peristiwa baru dibuat untuk permintaan per detik, total, saat ini, dan permintaan yang gagal.
- Kesalahan startup yang dihosting di IIS sekarang dilaporkan ke Log Peristiwa Windows.
- Minta integrasi alur System.IO.Pipelines.
- Peningkatan kinerja di seluruh tumpukan teknologi.
Mari kita buat proyek konsol .NET Core 3.0 baru dengan VS 2019, seperti yang ditunjukkan pada gambar di bawah ini:
Mereferensikan paket Newtonsoft.Json, tulis beberapa baris kode, sebagai berikut:
Kami mengklik kanan VS Regenerate, lalu membuka direktori bin proyek, dan menemukan bahwa beberapa file akan dihasilkan, termasuk file :demo1.exe dan Newtonsoft.Json.dll.
Menerbitkan file tunggal yang dapat dieksekusi
Metode 1:
Jalankan perintah berikut di direktori proyek:
Kami membuka folder C:\Users\itsvse_pc\source\repos\demo1\demo1\bin\Debug\netcoreapp3.0\win10-x64, dan kami akan menemukan bahwa banyak file dll dihasilkan dan ada folder publikasi.
Buka folder publikasi,Ukuran demo1.exe tampilan adalah 66M, yang ukurannya sama dengan semua file di luar folder, seperti yang ditunjukkan pada gambar di bawah ini:
File tunggal yang dapat dieksekusi yang dihasilkan sebenarnya berisi lingkungan yang diperlukan untuk eksekusi program, dan tidak memerlukan komputer target untuk menginstal SDK, dan kerugiannya adalah ukuran file akan menjadi sangat besar.
Metode 2:
Klik kanan vs edit file proyek dan tambahkan konfigurasi simpul PublishSingleFile, kodenya adalah sebagai berikut:
Kemudian klik kanan dan klik tombol "Publikasikan".
Tautan perakitan
.NET core 3.0 SDK dilengkapi dengan alat yang dapat mengurangi ukuran aplikasi Anda dengan menganalisis IL dan memotong rakitan yang tidak digunakan.
Aplikasi mandiri mencakup semua yang Anda butuhkan untuk menjalankan kode tanpa harus menginstal .NET di komputer utama Anda. Namun, sering kali aplikasi hanya membutuhkan sebagian kecil dari kerangka kerja untuk berjalan, dan pustaka lain yang tidak digunakan dapat dihapus.
.NET Core kini menyertakan setelan yang memindai IL aplikasi Anda menggunakan alat penaut IL. Alat ini akan mendeteksi kode mana yang diperlukan dan kemudian memotong pustaka yang tidak digunakan. Alat ini dapat secara signifikan mengurangi ukuran penyebaran beberapa aplikasi.
Untuk mengaktifkan alat ini, gunakan <PublishTrimmed> pengaturan di project Anda dan publikasikan aplikasi mandiri:
CLI Inti .NET
Kami baru saja membuat file 66M, dan setelah menambahkan konfigurasi,Itu menjadi 35M, mengurangi hunian 30M。
Pastikan untuk mempertimbangkan aplikasi atau kerangka kerja yang menggunakan refleksi atau fitur dinamis terkait (termasuk ASP.NET Core dan WPF)Biasanya rusak saat pemotongan。 Kerusakan ini terjadi karena penghubung tidak menyadari perilaku dinamis ini dan tidak dapat menentukan jenis bingkai mana yang diperlukan untuk refleksi。 Alat penghubung IL dapat dikonfigurasi untuk menemukan situasi ini.
Yang terpenting, pastikan untuk menerapkannya setelah memotongLakukan tes。
(Akhir)
|
Mantan:Memecahkan ajax tidak dapat menetapkan nilai ke variabel eksternalDepan:Bahasa C sangat kuat, dalam bahasa apa tulisannya?
|