For et par dage siden udgav Microsoft .NET Core 3.0, og en af de største forbedringer er understøttelse af Windows-skrivebordsapplikationer (kun Windows). Ved at bruge .NET Core 3.0 SDK Windows Desktop Component kan du porte Windows Forms og Windows Presentation Foundation (WPF) applikationer. For at være klar: Windows-skrivebordskomponenter understøttes og inkluderes kun på Windows.
SDK downloadadresse:Hyperlink-login er synlig.
Links til at introducere .NET Core-funktioner:
Hyperlink-login er synlig.
Hyperlink-login er synlig.
Funktioner inkluderer følgende:
- Brug C# til at bygge rige, interaktive klient-webapps.
- Brug gRPC til at skabe højtydende backend-tjenester.
- SignalR understøtter nu automatisk genforbindelse og klient-til-server-flows.
- Brug OpenAPI-dokumentation til at generere stærkt typet klientkode til web-API'er.
- Endpoint-routing er integreret gennem frameworket.
- Kestrel har HTTP/2 aktiveret som standard.
- Integreret web-API og understøttelse af enkeltside-app-autentificering.
- Certifikater og Kerberos-autentificering understøttes.
- Integrer den nye System.Text.Json serializer.
- Den nye universelle hosting opstiller fælles administrerede tjenester såsom afhængighedsindsprøjtning, konfiguration og logning.
- En ny Worker Service-skabelon til opbygning af langsigtede tjenester.
- Nye EventCounters oprettes for forespørgsler pr. sekund, totale, aktuelle og mislykkede forespørgsler.
- Opstartsfejl, der hostes i IIS, rapporteres nu til Windows Event Log.
- Anmod om pipeline-integration System.IO.Pipelines.
- Ydelsesforbedringer på tværs af hele teknologistacken.
Lad os skabe et nyt .NET Core 3.0-konsolprojekt med VS 2019, som vist i figuren nedenfor:
Ved at referere til Newtonsoft.Json-pakken, skriv et par linjer kode som følger:
Vi højreklikker på VS Regenerate, åbner derefter projektets bin-mappe og ser, at flere filer vil blive genereret, inklusive :demo1.exe- og Newtonsoft.Json.dll-filer.
Udgiv en enkeltfil eksekverbar fil
Metode 1:
Kør følgende kommando i projektmappen:
Vi åbner mappen C:\Users\itsvse_pc\source\repos\demo1\demo1\bin\Debug\netcoreapp3.0\win10-x64, og vi vil opdage, at mange dll-filer bliver genereret, og der er en publicer-mappe.
Gå til publicer-mappen,Størrelsen på visnings-demo1.exe er 66M, hvilket er samme størrelse som alle filer uden for mappen, som vist i figuren nedenfor:
Den genererede enkelt-eksekverbare fil indeholder faktisk det miljø, der kræves for programmets eksekvering, og kræver ikke, at målcomputeren installerer SDK'en, og ulempen er, at filstørrelsen bliver meget stor.
Metode 2:
Højreklik vs. rediger projektfilen og tilføj PublishSingleFile-nodekonfigurationen, koden er som følger:
Højreklik derefter og klik på "Publicér"-knappen.
Samlingslinks
.NET core 3.0 SDK'en leveres med et værktøj, der kan reducere størrelsen på din app ved at analysere IL og klippe ubrugte assemblies.
Selvstændige apps indeholder alt, hvad du behøver for at køre kode uden at skulle installere .NET på din hovedcomputer. Dog behøver appen ofte kun en brøkdel af frameworket for at køre, og andre ubrugte biblioteker kan fjernes.
.NET Core inkluderer nu en indstilling, der scanner din apps IL ved hjælp af IL linker-værktøjet. Dette værktøj vil opdage, hvilken kode der er nødvendig, og derefter klippe ubrugte biblioteker. Dette værktøj kan markant reducere udrulningsstørrelsen på nogle applikationer.
For at aktivere dette værktøj skal du bruge <PublishTrimmed> indstillingerne i dit projekt og udgive en selvstændig app:
.NET Core CLI
Vi genererede bare en 66M-fil, og efter at have tilføjet konfigurationen,Den blev til 35 millioner, hvilket reducerede belægningen på 30 millioner。
Sørg for at overveje applikationer eller frameworks, der bruger refleksioner eller relaterede dynamiske funktioner (herunder ASP.NET Core og WPF)Normalt beskadiget under skæring。 Denne korruption opstår, fordi linkeren ikke er klar over denne dynamiske adfærd og ikke kan afgøre, hvilke rammetyper der kræves for refleksion。 IL-linkværktøjet kan konfigureres til at opdage denne situation.
Vigtigst af alt, sørg for at påføre det efter skæringUdfør tests。
(Slut)
|