|
|
Postat la 28-09-2019 16:38:47
|
|
|
|

Acum câteva zile, Microsoft a lansat .NET Core 3.0, iar una dintre cele mai mari îmbunătățiri este suportul pentru aplicațiile desktop Windows (doar Windows). Folosind .NET Core 3.0 SDK Windows Desktop Component, poți porta aplicațiile Windows Forms și Windows Presentation Foundation (WPF). Pentru a fi clar, componentele desktop Windows sunt suportate și incluse doar pe Windows.
Adresa de descărcare SDK:Autentificarea cu hyperlink este vizibilă.
Linkuri pentru introducerea funcționalităților .NET Core:
Autentificarea cu hyperlink este vizibilă.
Autentificarea cu hyperlink este vizibilă.
Caracteristicile includ următoarele:
- Folosește C# pentru a construi aplicații web client bogate și interactive.
- Folosește gRPC pentru a crea servicii backend de înaltă performanță.
- SignalR suportă acum reconectarea automată și fluxurile client-server.
- Folosiți documentația OpenAPI pentru a genera cod client puternic tipărit pentru API-urile Web.
- Rutarea endpoint-ului este integrată prin cadrul său.
- Kestrel are HTTP/2 activat implicit.
- API web integrat și suport pentru autentificarea aplicației de o singură pagină.
- Certificatele și autentificarea prin Kerberos sunt suportate.
- Integrează noul serializer System.Text.Json.
- Noua găzduire universală stabilește servicii gestionate comune, cum ar fi injectarea dependențelor, configurarea și logarea.
- Un nou șablon pentru Servicii pentru Muncitori pentru construirea serviciilor pe termen lung.
- Sunt create noi EventCounter-uri pentru cereri pe secundă, total, curente și cereri eșuate.
- Erorile de pornire găzduite în IIS sunt acum raportate în Jurnalul de Evenimente Windows.
- Cerere integrare a conductelor System.IO.Pipelines.
- Îmbunătățiri de performanță pe întregul stack tehnologic.
Să creăm un nou proiect de consolă .NET Core 3.0 cu VS 2019, așa cum se vede în figura de mai jos:
Referindu-ne la pachetul Newtonsoft.Json, scrie câteva linii de cod, după cum urmează:
Facem click dreapta pe VS Regenerate, apoi deschidem directorul bin al proiectului și vedem că vor fi generate mai multe fișiere, inclusiv fișiere :demo1.exe și Newtonsoft.Json.dll.
Publică un executabil pe un singur fișier
Metoda 1:
Rulează următoarea comandă în directorul proiectului:
Deschidem folderul C:\Users\itsvse_pc\source\repos\demo1\demo1\bin\Debug\netcoreapp3.0\win10-x64 și vom descoperi că sunt generate multe fișiere dll și există un folder de publicare.
Mergi la folderul de publicare,Dimensiunea demo1.exe de vizualizare este de 66M, aceeași dimensiune ca toate fișierele din afara folderului, așa cum se arată în figura de mai jos:
Fișierul executabil unic generat conține de fapt mediul necesar pentru execuția programului și nu necesită ca calculatorul țintă să instaleze SDK-ul, iar dezavantajul este că dimensiunea fișierului va deveni foarte mare.
Metoda 2:
Click dreapta vs editează fișierul proiectului și adaugă configurația nodului PublishSingleFile, codul este următorul:
Apoi dă click dreapta și apasă butonul "Publică".
Legături de asamblare
SDK-ul .NET core 3.0 vine cu un instrument care poate reduce dimensiunea aplicației prin analizarea IL și decuparea asamblărilor neutilizate.
Aplicațiile autonome includ tot ce ai nevoie pentru a rula cod fără să fie nevoie să instalezi .NET pe calculatorul principal. Totuși, de multe ori aplicația are nevoie doar de o fracțiune din cadrul pentru a rula, iar alte biblioteci neutilizate pot fi eliminate.
.NET Core include acum o setare care scanează IL-ul aplicației tale folosind instrumentul IL linker. Acest instrument va detecta ce cod este necesar și apoi va tăia bibliotecile neutilizate. Acest instrument poate reduce semnificativ dimensiunea implementării unor aplicații.
Pentru a activa acest instrument, folosește <PublishTrimmed> setările din proiectul tău și publică o aplicație autonomă:
.NET Core CLI
Tocmai am generat un fișier de 66M, iar după ce am adăugat configurația,A ajuns la 35M, reducând ocuparea la 30M。
Asigură-te că iei în considerare aplicații sau cadre care folosesc reflexii sau caracteristici dinamice conexe (inclusiv ASP.NET Core și WPF).De obicei deteriorat în timpul tăierii。 Această corupere apare deoarece linkerul nu este conștient de acest comportament dinamic și nu poate determina ce tipuri de cadre sunt necesare pentru reflexie。 Instrumentul IL linker poate fi configurat pentru a detecta această situație.
Cel mai important, asigurați-vă că îl aplicați după tăiereEfectuarea testelor。
(Sfârșit)
|
Precedent:Rezolvă că ajax nu poate atribui valori variabilelor externeUrmător:Limbajul C este atât de puternic, în ce limbă este scris?
|