|
|
Publicerad den 28 september 2019 kl. 16:38:47
|
|
|
|

För några dagar sedan släppte Microsoft .NET Core 3.0, och en av de största förbättringarna är stöd för Windows-skrivbordsapplikationer (endast Windows). Genom att använda .NET Core 3.0 SDK Windows Desktop Component kan du porta Windows Forms och Windows Presentation Foundation (WPF)-applikationer. För att vara tydlig stöds och ingår endast Windows-skrivbordskomponenter på Windows.
SDK-nedladdningsadress:Inloggningen med hyperlänken är synlig.
Länkar för att introducera .NET Core-funktioner:
Inloggningen med hyperlänken är synlig.
Inloggningen med hyperlänken är synlig.
Funktioner inkluderar följande:
- Använd C# för att bygga rika, interaktiva klientwebbappar.
- Använd gRPC för att skapa högpresterande backend-tjänster.
- SignalR stöder nu automatisk återanslutning och klient-till-server-flöden.
- Använd OpenAPI-dokumentation för att generera starkt typad klientkod för webb-API:er.
- Endpoint-routing är integrerad genom ramverket.
- Kestrel har HTTP/2 aktiverat som standard.
- Integrerat webb-API och autentisering med en enkel sida för app.
- Certifikat och Kerberos-autentisering stöds.
- Integrera den nya System.Text.Json-serien.
- Det nya universella hostingsystemet sätter upp gemensamma hanterade tjänster såsom beroendeinjektion, konfiguration och loggning.
- En ny Worker Service-mall för att bygga långsiktiga tjänster.
- Nya EventCounters skapas för förfrågningar per sekund, totala, nuvarande och misslyckade förfrågningar.
- Startfel som finns i IIS rapporteras nu till Windows händelselogg.
- Begär pipeline-integration System.IO.Pipelines.
- Prestandaförbättringar över hela teknikstacken.
Låt oss skapa ett nytt .NET Core 3.0-konsolprojekt med VS 2019, som visas i figuren nedan:
Med hänvisning till Newtonsoft.Json-paketet, skriv några rader kod, enligt följande:
Vi högerklickar på VS Regenerate, öppnar sedan projektets bin-katalog och ser att flera filer kommer att genereras, inklusive :demo1.exe och Newtonsoft.Json.dll filer.
Publicera en enfilskörbar fil
Metod 1:
Kör följande kommando i projektkatalogen:
Vi öppnar mappen C:\Users\itsvse_pc\source\repos\demo1\demo1\bin\Debug\netcoreapp3.0\win10-x64, och vi ser att många dll-filer genereras och att det finns en publiceringsmapp.
Gå till publiceringsmappen,Storleken på visnings-demo1.exe är 66M, vilket är samma storlek som alla filer utanför mappen, som visas i figuren nedan:
Den genererade enda körbara filen innehåller faktiskt den miljö som krävs för programmets körning och kräver inte att måldatorn installerar SDK:n, och nackdelen är att filstorleken blir mycket stor.
Metod 2:
Högerklicka kontra redigera projektfilen och lägga till PublishSingleFile-nodkonfigurationen, koden är följande:
Högerklicka sedan och klicka på knappen "Publicera".
Länkar till samlingen
.NET core 3.0 SDK levereras med ett verktyg som kan minska storleken på din app genom att analysera IL och klippa oanvända assemblies.
Självständiga appar innehåller allt du behöver för att köra kod utan att behöva installera .NET på din huvuddator. Men ofta behöver appen bara en bråkdel av ramverket för att köras, och andra oanvända bibliotek kan tas bort.
.NET Core inkluderar nu en inställning som skannar din apps IL med hjälp av IL-länkverktyget. Detta verktyg kommer att upptäcka vilken kod som krävs och sedan klippa ut oanvända bibliotek. Detta verktyg kan avsevärt minska distributionen av vissa applikationer.
För att aktivera detta verktyg, använd <PublishTrimmed> inställningarna i ditt projekt och publicera en självständig app:
.NET Core CLI
Vi genererade bara en 66M-fil, och efter att ha lagt till konfigurationen,Den blev 35M, vilket minskade beläggningen till 30 M。
Se till att överväga applikationer eller ramverk som använder reflektioner eller relaterade dynamiska funktioner (inklusive ASP.NET Core och WPF)Vanligtvis skadad under skärning。 Denna korruption uppstår eftersom länkaren är omedveten om detta dynamiska beteende och inte kan avgöra vilka ramtyper som krävs för reflektion。 IL-länkverktyget kan konfigureras för att upptäcka denna situation.
Viktigast av allt, se till att applicera den efter att du har skuritGenomför tester。
(Slut)
|
Föregående:Lös att ajax inte kan tilldela värden till externa variablerNästa:C-språket är så kraftfullt, vilket språk är det skrivet på?
|