Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 33299|Atbildi: 2

[.NET kodols] Jaunie .NET Core līdzekļi izlaiž viena faila izpildāmo failu

[Kopēt saiti]
Publicēts 2019-9-28 16:38:47 | | | |
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)






Iepriekšējo:Atrisināt ajax nevar piešķirt vērtības ārējiem mainīgajiem
Nākamo:C valoda ir tik spēcīga, kādā valodā tā ir rakstīta?
Publicēts 2019-9-29 09:30:44 |

Paldies, ka dalījāties
 Saimnieks| Publicēts 2019-10-30 09:14:15 |
ReadyToRun attēls
To var uzlabot, kompilējot lietojumprogrammu kopu ReadyToRun (R2R) formātā. NET Core lietojumprogrammas startēšanas laiks.

R2R ir iepriekš kompilēta (AOT) forma. R2R binārie faili uzlabo startēšanas veiktspēju, samazinot darba apjomu, kas reāllaika (JIT) kompilatoriem jāveic, kad lietojumprogramma tiek ielādēta. Binārais satur vietējo kodu, kas līdzīgs tam, ko ģenerēs JIT. Tomēr R2R binārie faili ir lielāki, jo tajos ir starpvalodas (IL) kods (kas dažos gadījumos joprojām ir nepieciešams) un tā paša koda vietējā versija. R2R ir pieejams tikai tad, ja publicējat patstāvīgu programmu, kuras mērķauditorija ir noteikta izpildlaika vide (RID), piemēram, Linux x64 vai Windows x64.



Šeit mēs vispirms atstājam komentāru un <PublishTrimmed>pēc tam pievienojam<PublishReadyToRun>:

Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com