|
|
Objavljeno 28. 9. 2019 ob 16:38:47
|
|
|
|

Pred nekaj dnevi je Microsoft izdal .NET Core 3.0, ena največjih izboljšav pa je podpora za namizne aplikacije v Windows (samo za Windows). Z uporabo .NET Core 3.0 SDK Windows Desktop Component lahko prenesete aplikacije Windows Forms in Windows Presentation Foundation (WPF). Za jasno sliko: Windows namizne komponente so podprte in vključene samo v Windows.
Naslov za prenos SDK:Prijava do hiperpovezave je vidna.
Povezave za predstavitev funkcij .NET Core:
Prijava do hiperpovezave je vidna.
Prijava do hiperpovezave je vidna.
Značilnosti vključujejo naslednje:
- Uporabite C# za izdelavo bogatih, interaktivnih spletnih aplikacij za odjemalce.
- Uporabite gRPC za ustvarjanje visokozmogljivih backend storitev.
- SignalR zdaj podpira samodejno ponovno povezavo in tokove med odjemalcem in strežnikom.
- Uporabite dokumentacijo OpenAPI za generiranje močno tipizirane kode odjemalcev za spletne API-je.
- Usmerjanje končnih točk je integrirano skozi ogrodje.
- Kestrel ima privzeto omogočen HTTP/2.
- Integriran spletni API in podpora za enostransko avtentikacijo aplikacij.
- Podprti so certifikati in Kerberos avtentikacija.
- Integrirajte novi serializator System.Text.Json.
- Novo univerzalno gostovanje vzpostavlja skupne upravljane storitve, kot so vbrizgavanje odvisnosti, konfiguracija in beleženje.
- Nova predloga za delavske storitve za gradnjo dolgoročnih storitev.
- Novi EventCounterji se ustvarjajo za zahteve na sekundo, skupne, trenutne in neuspešne zahteve.
- Zagonske napake, gostovane v IIS, se zdaj poročajo v Windows Event Log.
- Zahtevajte integracijo cevovodov System.IO.Pipelines.
- Izboljšave zmogljivosti v celotnem tehnološkem skladu.
Ustvarimo nov .NET Core 3.0 konzolni projekt z VS 2019, kot je prikazano na spodnji sliki:
Če se sklicujemo na paket Newtonsoft.Json, napišite nekaj vrstic kode, kot sledi:
Z desnim klikom na VS Regenerate odpremo mapo zabojnikov projekta in ugotovimo, da bo ustvarjenih več datotek, vključno z :demo1.exe in Newtonsoft.Json.dll datotekami.
Objavite izvršljivo datoteko z eno datoteko
Metoda 1:
V mapi projekta zaženite naslednji ukaz:
Odpremo mapo C:\Users\itsvse_pc\source\repos\demo1\demo1\bin\Debug\netcoreapp3.0\win10-x64 in ugotovimo, da je ustvarjenih veliko dll datotek in obstaja mapa za objavo.
Pojdi v mapo za objavo,Velikost demo1.exe za ogled je 66M, kar je enako kot vse datoteke zunaj mape, kot je prikazano na spodnji sliki:
Generirana ena sama izvedljiva datoteka dejansko vsebuje okolje, potrebno za izvajanje programa, in ne zahteva, da ciljni računalnik namesti SDK, slabost pa je, da bo velikost datoteke postala zelo velika.
Metoda 2:
Desni klik proti urejanju projektne datoteke in dodajanju konfiguracije vozlišča PublishSingleFile je koda naslednja:
Nato desni klik in gumb "Objavi".
Povezave do sestavljanja
.NET core 3.0 SDK vsebuje orodje, ki lahko zmanjša velikost vaše aplikacije z analizo IL in rezanjem neuporabljenih sestavov.
Samostojne aplikacije vključujejo vse, kar potrebujete za zagon kode brez potrebe po namestitvi .NET na glavni računalnik. Vendar pa aplikacija pogosto potrebuje le del ogrodja za delovanje, druge neuporabljene knjižnice pa je mogoče odstraniti.
.NET Core zdaj vključuje nastavitev, ki skenira IL vaše aplikacije z orodjem IL linker. To orodje bo zaznalo, katera koda je potrebna, in nato izrezalo neuporabljene knjižnice. To orodje lahko bistveno zmanjša velikost namestitve nekaterih aplikacij.
Za omogočanje tega orodja uporabite <PublishTrimmed> nastavitve v svojem projektu in objavite samostojno aplikacijo:
.NET Core CLI
Pravkar smo ustvarili 66M datoteko in po dodajanju konfiguracije,Povečal se je na 35M, s čimer se je zasedenost zmanjšala na 30M.。
Obvezno razmislite o aplikacijah ali ogrodjih, ki uporabljajo refleksije ali sorodne dinamične funkcije (vključno z ASP.NET Core in WPF).Običajno poškodovani med rezanjem。 Ta pokvarjenost nastane, ker povezovalec ni seznanjen s tem dinamičnim vedenjem in ne more določiti, kateri tipi okvirjev so potrebni za refleksijo。 Orodje IL linker je mogoče konfigurirati tako, da zazna to situacijo.
Najpomembneje je, da ga nanesete po rezanjuIzvedite teste。
(Konec)
|
Prejšnji:Reši, da Ajax ne more dodeliti vrednosti zunanjim spremenljivkamNaslednji:Jezik C je tako močan, v katerem jeziku je napisan?
|