|
|
Zverejnené 28. 9. 2019 o 16:38:47
|
|
|
|

Pred niekoľkými dňami Microsoft vydal .NET Core 3.0 a jedným z najväčších vylepšení je podpora desktopových aplikácií pre Windows (iba Windows). Použitím .NET Core 3.0 SDK Windows Desktop Component môžete portovať aplikácie Windows Forms a Windows Presentation Foundation (WPF). Pre jasnosť, komponenty Windows desktopu sú podporované a zahrnuté iba vo Windows.
Adresa na stiahnutie SDK:Prihlásenie na hypertextový odkaz je viditeľné.
Odkazy na predstavenie funkcií .NET Core:
Prihlásenie na hypertextový odkaz je viditeľné.
Prihlásenie na hypertextový odkaz je viditeľné.
Funkcie zahŕňajú nasledovné:
- Použite C# na tvorbu bohatých, interaktívnych klientských webových aplikácií.
- Použite gRPC na vytváranie vysoko výkonných backendových služieb.
- SignalR teraz podporuje automatické opätovné pripojenie a klient-server toky.
- Použite dokumentáciu OpenAPI na generovanie silne typovaného klientskeho kódu pre webové API.
- Smerovanie koncových bodov je integrované cez tento framework.
- Kestrel má predvolene zapnuté HTTP/2.
- Integrované webové API a podpora overovania aplikácií na jednej strane.
- Podporované sú certifikáty a autentifikácia Kerberos.
- Integrovať nový serializér System.Text.Json.
- Nový univerzálny hosting nastavuje bežné spravované služby ako injekcia závislostí, konfiguráciu a logovanie.
- Nová šablóna Worker Service na budovanie dlhodobých služieb.
- Nové EventCountery sa vytvárajú pre požiadavky za sekundu, celkové, aktuálne a neúspešné požiadavky.
- Chyby pri štarte hostované v IIS sú teraz hlásené do Windows Event Log.
- Požiadajte o integráciu pipeline System.IO.Pipelines.
- Zlepšenie výkonu v celom technologickom stacku.
Vytvorme nový .NET Core 3.0 konzolový projekt s VS 2019, ako je znázornené na obrázku nižšie:
Odkazujúc na balík Newtonsoft.Json, napíšte niekoľko riadkov kódu, nasledovne:
Klikneme pravým tlačidlom na VS Regenerate, potom otvoríme adresár bin projektu a zistíme, že bude vygenerovaných niekoľko súborov, vrátane :demo1.exe a Newtonsoft.Json.dll súborov.
Publikovať spustiteľný súbor s jedným súborom
Metóda 1:
Spustite nasledujúci príkaz v adresári projektu:
Otvoríme priečinok C:\Users\itsvse_pc\source\repos\demo1\demo1\bin\Debug\netcoreapp3.0\win10-x64 a zistíme, že je vygenerovaných veľa dll súborov a je tam priečinok na publikovanie.
Choďte do priečinka publikovať,Veľkosť demo1.exe zobrazenia je 66M, čo je rovnaká veľkosť ako všetky súbory mimo priečinka, ako je znázornené na obrázku nižšie:
Generovaný jediný spustiteľný súbor v skutočnosti obsahuje prostredie potrebné na spustenie programu a nevyžaduje, aby cieľový počítač inštaloval SDK, pričom nevýhodou je, že veľkosť súboru bude veľmi veľká.
Metóda 2:
Kliknutím pravým tlačidlom namiesto úpravy projektového súboru a pridaním konfigurácie uzla PublishSingleFile je kód nasledovný:
Potom kliknite pravým tlačidlom a kliknite na tlačidlo "Publikovať".
Montážne spoje
.NET core 3.0 SDK obsahuje nástroj, ktorý dokáže zmenšiť veľkosť vašej aplikácie analýzou IL a orezávaním nevyužitých assemblerov.
Samostatné aplikácie obsahujú všetko, čo potrebujete na spúšťanie kódu bez nutnosti inštalovať .NET na hlavný počítač. Avšak často aplikácia potrebuje len zlomok frameworku na spustenie a iné nepoužívané knižnice môžu byť odstránené.
.NET Core teraz obsahuje nastavenie, ktoré skenuje IL vašej aplikácie pomocou nástroja IL linker. Tento nástroj zistí, ktorý kód je potrebný, a potom vyreže nepoužité knižnice. Tento nástroj môže výrazne znížiť veľkosť nasadenia niektorých aplikácií.
Ak chcete tento nástroj aktivovať, použite <PublishTrimmed> nastavenia vo vašom projekte a publikujte samostatnú aplikáciu:
.NET Core CLI
Práve sme vygenerovali 66M súbor a po pridaní konfigurácie,Zvýšil sa na 35M, čím sa znížila obsadenosť na 30M.。
Nezabudnite zvážiť aplikácie alebo frameworky, ktoré používajú reflexie alebo súvisiace dynamické funkcie (vrátane ASP.NET Core a WPF).Zvyčajne poškodené pri rezaní。 Táto korupcia nastáva, pretože linker si nie je vedomý tohto dynamického správania a nedokáže určiť, ktoré typy rámcov sú potrebné na reflexiu。 Nástroj IL linker je možné nakonfigurovať tak, aby túto situáciu odhalil.
Najdôležitejšie je, aby ste ho naniesli po odrezaníVykonávať testy。
(Koniec)
|
Predchádzajúci:Vyrieš, že ajax nedokáže priradiť hodnoty externým premennýmBudúci:Jazyk C je taký silný, v akom jazyku je napísaný?
|