|
|
Zveřejněno 28. 9. 2019 16:38:47
|
|
|
|

Před několika dny Microsoft vydal .NET Core 3.0 a jedním z největších vylepšení je podpora desktopových aplikací pro Windows (pouze pro Windows). Použitím .NET Core 3.0 SDK Windows Desktop Component můžete portovat aplikace Windows Forms a Windows Presentation Foundation (WPF). Pro upřesnění, komponenty desktopu Windows jsou podporovány a zahrnuty pouze ve Windows.
Adresa ke stažení SDK:Přihlášení k hypertextovému odkazu je viditelné.
Odkazy na představení funkcí .NET Core:
Přihlášení k hypertextovému odkazu je viditelné.
Přihlášení k hypertextovému odkazu je viditelné.
Mezi funkce patří následující:
- Použijte C# k tvorbě bohatých, interaktivních klientských webových aplikací.
- Použijte gRPC k vytváření vysoce výkonných backendových služeb.
- SignalR nyní podporuje automatické opětovné připojení a toky klient-server.
- Použijte dokumentaci OpenAPI k generování silně psaného klientského kódu pro webová API.
- Směrování koncových bodů je integrováno prostřednictvím tohoto rámce.
- Kestrel má HTTP/2 ve výchozím nastavení zapnuté.
- Integrované webové API a podpora ověřování aplikací na jedné stránce.
- Podporovány jsou certifikáty a ověřování pomocí Kerberos.
- Integrujte nový serializér System.Text.Json.
- Nový univerzální hosting nastavuje běžné spravované služby, jako je injekce závislostí, konfigurace a logování.
- Nová šablona Worker Service pro budování dlouhodobých služeb.
- Nové EventCountery jsou vytvářeny pro požadavky za sekundu, celkové, aktuální a neúspěšné požadavky.
- Chyby při spuštění hostované v IIS jsou nyní hlášeny do Windows Event Logu.
- Požádat o integraci pipeline System.IO.Pipelines.
- Zlepšení výkonu napříč celým technologickým zásobníkem.
Vytvoříme nový projekt konzole .NET Core 3.0 ve VS 2019, jak je znázorněno na obrázku níže:
Odkazujíc na balíček Newtonsoft.Json, napište několik řádků kódu, následovně:
Klikneme pravým tlačítkem na VS Regenerate, otevřeme adresář bin projektu a zjistíme, že bude generováno několik souborů, včetně :demo1.exe a Newtonsoft.Json.dll souborů.
Publikovat spustitelný soubor s jedním souborem
Metoda 1:
Spusť následující příkaz v adresáři projektu:
Otevřeme složku C:\Users\itsvse_pc\source\repos\demo1\demo1\bin\Debug\netcoreapp3.0\win10-x64 a zjistíme, že je vygenerováno mnoho dll souborů a je tam složka pro publikování.
Přejděte do složky publikovat,Velikost demo1.exe zobrazení je 66M, což je stejně velké jako všechny soubory mimo složku, jak je znázorněno na obrázku níže:
Generovaný jediný spustitelný soubor ve skutečnosti obsahuje prostředí potřebné pro spuštění programu a nevyžaduje, aby cílový počítač instaloval SDK, přičemž nevýhodou je, že velikost souboru bude velmi velká.
Metoda 2:
Klikněte pravým tlačítkem vs upravit projektový soubor a přidat konfiguraci uzlu PublishSingleFile, kód je následující:
Pak klikněte pravým tlačítkem a klikněte na tlačítko "Publikovat".
Spojení sboru
.NET core 3.0 SDK obsahuje nástroj, který může zmenšit velikost vaší aplikace analýzou IL a ořezáním nevyužitých assemblerů.
Samostatné aplikace obsahují vše, co potřebujete k běžnému kódu bez nutnosti instalace .NET na hlavní počítač. Často však aplikace potřebuje k běhu jen zlomek frameworku a jiné nevyužité knihovny lze odstranit.
.NET Core nyní obsahuje nastavení, které skenuje IL vaší aplikace pomocí nástroje IL linker. Tento nástroj zjistí, který kód je potřeba, a poté ořízne nepoužité knihovny. Tento nástroj může výrazně snížit velikost nasazení některých aplikací.
Pro povolení tohoto nástroje použijte <PublishTrimmed> nastavení ve svém projektu a publikujte samostatnou aplikaci:
.NET Core CLI
Právě jsme vygenerovali soubor 66M a po přidání konfigurace,Zvýšil se na 35 m, čímž se snížila obsazenost o 30 m。
Nezapomeňte zvážit aplikace nebo frameworky, které používají reflections nebo související dynamické funkce (včetně ASP.NET Core a WPF).Obvykle se při řezání poškodí。 Tato korupce nastává, protože linker si tohoto dynamického chování není vědom a nemůže určit, které typy rámců jsou potřeba pro reflexi。 Nástroj IL linker lze nastavit tak, aby tuto situaci odhalil.
Nejdůležitější je aplikovat ho po řezáníProvést testy。
(Konec)
|
Předchozí:Vyřeš, že ajax nemůže přiřadit hodnoty externím proměnnýmDalší:Jazyk C je tak silný, v jakém jazyce je napsán?
|