Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 33299|Atsakyti: 2

[.NET branduolys] Naujos .NET Core funkcijos išleidžia vieno failo vykdomąjį failą

[Kopijuoti nuorodą]
Publikuota: 2019-9-28 16:38:47 | | | |
Prieš kelias dienas "Microsoft" išleido ".NET Core 3.0", o vienas didžiausių patobulinimų yra "Windows" darbalaukio programų palaikymas (tik "Windows"). Naudodami .NET Core 3.0 SDK Windows darbalaukio komponentą, galite perkelti Windows Forms ir Windows Presentation Foundation (WPF) programas. Kad būtų aišku, "Windows" darbalaukio komponentai palaikomi ir įtraukti tik į "Windows".

SDK atsisiuntimo adresas:Hipersaito prisijungimas matomas.

Nuorodos, skirtos pristatyti ".NET Core" funkcijas:

Hipersaito prisijungimas matomas.
Hipersaito prisijungimas matomas.

Funkcijos apima:

  • Naudokite C#, kad kurtumėte turtingas, interaktyvias kliento žiniatinklio programas.
  • Naudokite gRPC, kad sukurtumėte didelio našumo vidines paslaugas.
  • "SignalR" dabar palaiko automatinį pakartotinį prisijungimą ir kliento ir serverio srautus.
  • Naudokite OpenAPI dokumentaciją, kad sugeneruotumėte stipriai įvestą kliento kodą žiniatinklio API.
  • Galinių punktų maršruto parinkimas yra integruotas per sistemą.
  • Kestrel HTTP/2 įjungtas pagal numatytuosius nustatymus.
  • Integruota žiniatinklio API ir vieno puslapio programos autentifikavimo palaikymas.
  • Palaikomi sertifikatai ir Kerberos autentifikavimas.
  • Integruokite naują System.Text.Json serializatorių.
  • Naujasis universalus hostingas nustato bendras valdomas paslaugas, tokias kaip priklausomybės injekcija, konfigūracija ir registravimas.
  • Naujas darbuotojų aptarnavimo šablonas, skirtas ilgalaikėms paslaugoms kurti.
  • Nauji įvykių skaitikliai sukuriami užklausoms per sekundę, bendrai, dabartinėms ir nepavykusioms užklausoms.
  • Apie IIS nuomojamas paleisties klaidas dabar pranešama Windows įvykių žurnale.
  • Užklausti vamzdynų integravimo System.IO.Pipelines.
  • Našumo patobulinimai visame technologijų pakete.

Sukurkime naują .NET Core 3.0 konsolės projektą su VS 2019, kaip parodyta paveikslėlyje žemiau:



Remdamiesi Newtonsoft.Json paketu, parašykite kelias kodo eilutes taip:


Dešiniuoju pelės mygtuku spustelėkite VS Regenerate, tada atidarome projekto šiukšliadėžės katalogą ir nustatome, kad bus sugeneruoti keli failai, įskaitant :demo1.exe ir Newtonsoft.Json.dll failus.



Vieno failo vykdomojo failo publikavimas

1 metodas:

Projekto kataloge paleiskite šią komandą:



Atidarome aplanką C:\Users\itsvse_pc\source\repos\demo1\demo1\bin\Debug\netcoreapp3.0\win10-x64 ir pamatysime, kad sugeneruota daug dll failų ir yra publikavimo aplankas.

Eikite į publikavimo aplanką,Peržiūros demo1.exe dydis yra 66M, o tai yra toks pat dydis kaip ir visi failai, esantys už aplanko ribų, kaip parodyta toliau pateiktame paveikslėlyje:



Sugeneruotame viename vykdomajame faile iš tikrųjų yra aplinka, reikalinga programai vykdyti, ir nereikia, kad tikslinis kompiuteris įdiegtų SDK, o trūkumas yra tas, kad failo dydis taps labai didelis.

2 metodas:

Dešiniuoju pelės mygtuku spustelėkite ir redaguokite projekto failą ir pridėkite PublishSingleFile mazgo konfigūraciją, kodas yra toks:

Tada dešiniuoju pelės mygtuku spustelėkite mygtuką "Paskelbti".


Surinkimo nuorodos

.NET core 3.0 SDK yra įrankis, kuris gali sumažinti programos dydį analizuojant IL ir iškarpant nenaudojamus rinkinius.

Savarankiškose programose yra viskas, ko reikia norint paleisti kodą neįdiegus .NET pagrindiniame kompiuteryje. Tačiau daug kartų programai paleisti reikia tik dalies sistemos, o kitas nenaudojamas bibliotekas galima pašalinti.

".NET Core" dabar apima parametrą, kuris nuskaito programos IL naudojant IL susiejimo įrankį. Šis įrankis aptiks, kokio kodo reikia, ir iškirps nenaudojamas bibliotekas. Šis įrankis gali žymiai sumažinti kai kurių programų diegimo dydį.

Norėdami įgalinti šį įrankį, naudokite <PublishTrimmed> projekto parametrus ir publikuokite savarankišką programą:

.NET Core CLI


Mes ką tik sukūrėme 66M failą, o pridėję konfigūraciją,Jis tapo 35M, sumažindamas užimtumą 30M

Būtinai apsvarstykite programas ar sistemas, kuriose naudojami atspindžiai ar susijusios dinaminės funkcijos (įskaitant ASP.NET Core ir WPF)Paprastai sugadintas pjovimo metuŠis sugadinimas įvyksta, nes saitas nežino apie šį dinaminį veikimą ir negali nustatyti, kurie kadrų tipai reikalingi atspindžiui。 IL susiejimo įrankį galima sukonfigūruoti taip, kad pastebėtų šią situaciją.

Svarbiausia, būtinai užtepkite jį po pjovimoAtlikite bandymus


(Pabaiga)






Ankstesnis:Išspręsti ajax negali priskirti reikšmių išoriniams kintamiesiems
Kitą:C kalba yra tokia galinga, kokia kalba ji parašyta?
Publikuota: 2019-9-29 09:30:44 |

Dėkojame, kad dalijatės
 Savininkas| Publikuota: 2019-10-30 09:14:15 |
ReadyToRun vaizdas
Jį galima patobulinti kompiliuojant programų rinkinį į ReadyToRun (R2R) formatą. NET Core programos paleidimo laikas.

R2R yra iš anksto sukompiliuoto (AOT) forma. R2R dvejetainiai failai pagerina paleidimo našumą, nes sumažina darbo kiekį, kurį turi atlikti realaus laiko (JIT) kompiliatoriai, kai programa įkeliama. Dvejetainiame faile yra vietinis kodas, panašus į tai, ką sugeneruos JIT. Tačiau R2R dvejetainiai failai yra didesni, nes juose yra tarpinės kalbos (IL) kodas (kuris kai kuriais atvejais vis dar reikalingas) ir vietinė to paties kodo versija. R2R galima tik tada, kai publikuojate savarankišką programėlę, skirtą konkrečiai vykdymo aplinkai (RID), pvz., "Linux x64" arba "Windows x64".



Čia pirmiausia paliekame komentarą, <PublishTrimmed>o tada <PublishReadyToRun>priduriame:

Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com