Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 33299|Jawab: 2

[Inti .NET] Fitur .NET Core baru merilis file tunggal yang dapat dieksekusi

[Salin tautan]
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 pemotonganKerusakan 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 eksternal
Depan:Bahasa C sangat kuat, dalam bahasa apa tulisannya?
Dipaparkan pada 2019-9-29 09:30:44 |

Terima kasih telah berbagi
 Tuan tanah| Dipaparkan pada 2019-10-30 09:14:15 |
Gambar ReadyToRun
Ini dapat ditingkatkan dengan mengkompilasi set aplikasi ke dalam format ReadyToRun (R2R). Waktu startup aplikasi NET Core.

R2R adalah bentuk pra-kompilasi (AOT). Biner R2R meningkatkan performa startup dengan mengurangi jumlah pekerjaan yang perlu dilakukan kompiler real-time (JIT) saat aplikasi dimuat. Biner berisi kode asli yang mirip dengan apa yang akan dihasilkan JIT. Namun, biner R2R lebih besar karena berisi kode bahasa perantara (IL) (yang masih diperlukan dalam beberapa kasus) dan versi asli dari kode yang sama. R2R hanya tersedia saat Anda menerbitkan aplikasi mandiri yang menargetkan lingkungan runtime (RID) tertentu, seperti Linux x64 atau Windows x64.



Di sini pertama-tama kami meninggalkan komentar dan <PublishTrimmed>kemudian menambahkan<PublishReadyToRun>:

Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com