Pirms dažām dienām Microsoft izlaida .NET Core 3.0, un viens no lielākajiem uzlabojumiem ir atbalsts Windows darbvirsmas lietojumprogrammām (tikai Windows). Izmantojot .NET Core 3.0 SDK Windows darbvirsmas komponentu, varat portēt Windows Forms un Windows Presentation Foundation (WPF) lietojumprogrammas. Lai būtu skaidrs, Windows darbvirsmas komponenti tiek atbalstīti un iekļauti tikai operētājsistēmā Windows.
SDK lejupielādes adrese:Hipersaites pieteikšanās ir redzama.
Saites, lai iepazīstinātu ar .NET pamatfunkcijām:
Hipersaites pieteikšanās ir redzama.
Hipersaites pieteikšanās ir redzama.
Funkcijas ietver:
- Izmantojiet C#, lai izveidotu bagātīgas, interaktīvas klienta tīmekļa programmas.
- Izmantojiet gRPC, lai izveidotu augstas veiktspējas aizmugursistēmas pakalpojumus.
- SignalR tagad atbalsta automātisku atkārtotu savienojumu un klienta-servera plūsmas.
- Izmantojiet OpenAPI dokumentāciju, lai ģenerētu stipri ierakstītu klienta kodu tīmekļa API.
- Galapunktu maršrutēšana ir integrēta, izmantojot sistēmu.
- Kestrel pēc noklusējuma ir iespējots HTTP/2.
- Integrēts tīmekļa API un vienas lapas lietotnes autentifikācijas atbalsts.
- Tiek atbalstīti sertifikāti un Kerberos autentifikācija.
- Integrējiet jauno System.Text.Json serializatoru.
- Jaunais universālais hostings izveido kopīgus pārvaldītos pakalpojumus, piemēram, atkarības injekciju, konfigurāciju un reģistrēšanu.
- Jauna darbinieku apkalpošanas veidne ilgtermiņa pakalpojumu izveidei.
- Jauni notikumu skaitītāji tiek izveidoti pieprasījumiem sekundē, kopējiem, pašreizējiem un neveiksmīgiem pieprasījumiem.
- Par IIS viesotām startēšanas kļūdām tagad tiek ziņots Windows notikumu žurnālā.
- Pieprasīt cauruļvadu integrāciju System.IO.Pipelines.
- Veiktspējas uzlabojumi visā tehnoloģiju kaudzē.
Izveidosim jaunu .NET Core 3.0 konsoles projektu ar VS 2019, kā parādīts zemāk redzamajā attēlā:
Atsaucoties uz Newtonsoft.Json pakotni, uzrakstiet dažas koda rindiņas šādi:
Mēs ar peles labo pogu noklikšķinām uz VS Regenerate, pēc tam atveram projekta bin direktoriju un konstatējam, ka tiks ģenerēti vairāki faili, ieskaitot :demo1.exe un Newtonsoft.Json.dll failus.
Viena faila izpildāmā faila publicēšana
1. metode:
Projekta direktorijā palaidiet šādu komandu:
Mēs atveram mapi C: \ Lietotāji \ itsvse_pc \ source \ repos \ demo1 \ demo1 \ bin \ Debug \ netcoreapp3.0 \ win10-x64 un mēs atradīsim, ka tiek ģenerēti daudzi dll faili un ir publicēšanas mape.
Dodieties uz publicēšanas mapi,Skatīšanās demo1.exe lielums ir 66M, kas ir tāds pats kā visiem failiem ārpus mapes, kā parādīts attēlā:
Ģenerētais viens izpildāmais fails faktiski satur vidi, kas nepieciešama programmas izpildei, un mērķa datoram nav nepieciešams instalēt SDK, un trūkums ir tas, ka faila lielums kļūs ļoti liels.
2. metode:
Ar peles labo pogu noklikšķiniet uz projekta faila un pievienojiet PublishSingleFile mezgla konfigurāciju, kods ir šāds:
Pēc tam ar peles labo pogu noklikšķiniet un noklikšķiniet uz pogas "Publicēt".
Montāžas saites
.NET core 3.0 SDK ir iekļauts rīks, kas var samazināt programmas lielumu, analizējot IL un izgriežot neizmantotos komplektus.
Autonomās lietotnes ietver visu, kas nepieciešams, lai palaistu kodu, neinstalējot .NET galvenajā datorā. Tomēr daudzas reizes lietotnei ir nepieciešama tikai daļa no sistēmas, lai darbotos, un citas neizmantotās bibliotēkas var noņemt.
.NET Core tagad ietver iestatījumu, kas skenē jūsu programmas IL, izmantojot IL saistītāja rīku. Šis rīks noteiks, kurš kods ir nepieciešams, un pēc tam izgriezīs neizmantotās bibliotēkas. Šis rīks var ievērojami samazināt dažu lietojumprogrammu izvietošanas lielumu.
Lai iespējotu šo rīku, izmantojiet <PublishTrimmed> sava projekta iestatījumus un publicējiet patstāvīgu programmu:
.NET Core CLI
Mēs tikko izveidojām 66M failu, un pēc konfigurācijas pievienošanasTas kļuva par 35 miljoniem, samazinot noslogojumu par 30 miljoniem。
Noteikti apsveriet lietojumprogrammas vai sistēmas, kas izmanto atspulgus vai saistītās dinamiskās funkcijas (ieskaitot ASP.NET Core un WPF)Parasti griešanas laikā bojāts。 Šis bojājums rodas, jo saistītājs nezina par šo dinamisko darbību un nevar noteikt, kuri kadru veidi ir nepieciešami atspoguļošanai。 IL saistītāja rīku var konfigurēt, lai pamanītu šo situāciju.
Vissvarīgākais, pārliecinieties, ka to uzklājat pēc griešanasVeikt testus。
(Beigas)
|