|
|
Veröffentlicht am 28.09.2019, 16:38:47
|
|
|
|

Vor ein paar Tagen hat Microsoft .NET Core 3.0 veröffentlicht, und eine der größten Verbesserungen ist die Unterstützung für Windows-Desktop-Anwendungen (nur Windows). Durch die Verwendung des .NET Core 3.0 SDK Windows Desktop Component können Sie Windows Forms und Windows Presentation Foundation (WPF) Anwendungen portieren. Um das klarzustellen: Windows-Desktop-Komponenten werden nur unter Windows unterstützt und enthalten.
SDK-Downloadadresse:Der Hyperlink-Login ist sichtbar.
Links zur Einführung von .NET Core-Funktionen:
Der Hyperlink-Login ist sichtbar.
Der Hyperlink-Login ist sichtbar.
Zu den Merkmalen gehören Folgendes:
- Nutze C#, um reichhaltige, interaktive Client-Webanwendungen zu erstellen.
- Nutzen Sie gRPC, um leistungsstarke Backend-Services zu erstellen.
- SignalR unterstützt nun automatische Wiederverbindung und Client-zu-Server-Flows.
- Verwenden Sie die OpenAPI-Dokumentation, um stark typisierten Client-Code für Web-APIs zu generieren.
- Endpunkt-Routing ist durch das Framework integriert.
- Kestrel hat standardmäßig HTTP/2 aktiviert.
- Integrierte Web-API und Unterstützung für einseitige App-Authentifizierung.
- Zertifikate und Kerberos-Authentifizierung werden unterstützt.
- Integriere den neuen System.Text.Json Serializer.
- Das neue universelle Hosting richtet gemeinsame verwaltete Dienste wie Abhängigkeitsinjektion, Konfiguration und Logging ein.
- Eine neue Worker Service-Vorlage zum Aufbau langfristiger Dienste.
- Neue EventCounters werden für Anfragen pro Sekunde, gesamte, aktuelle und fehlgeschlagene Anfragen erstellt.
- Startfehler, die in IIS gehostet werden, werden nun im Windows-Ereignisprotokoll gemeldet.
- Pipeline-Integration System.IO.Pipelines anfordern.
- Leistungsverbesserungen im gesamten Technologiestack.
Lassen Sie uns ein neues .NET Core 3.0-Konsolenprojekt mit VS 2019 erstellen, wie in der untenstehenden Abbildung gezeigt:
Beziehen Sie sich auf das Newtonsoft.Json-Paket und schreiben Sie einige Codezeilen wie folgt:
Wir klicken mit der rechten Maustaste auf VS Regenerate, öffnen dann das Bin-Verzeichnis des Projekts und stellen fest, dass mehrere Dateien generiert werden, darunter :demo1.exe und Newtonsoft.Json.dll Dateien.
Veröffentlichen Sie eine einzelne ausführbare Datei
Methode 1:
Führen Sie folgenden Befehl im Projektverzeichnis aus:
Wir öffnen den Ordner C:\Users\itsvse_pc\source\repos\demo1\demo1\bin\Debug\netcoreapp3.0\win10-x64, und wir stellen fest, dass viele DLL-Dateien generiert werden und es einen publish Ordner gibt.
Geh zum Publizieren-Ordner,Die Größe der Ansicht demo1.exe beträgt 66M, was der Größe aller Dateien außerhalb des Ordners entspricht, wie in der untenstehenden Abbildung dargestellt:
Die generierte einzelne ausführbare Datei enthält tatsächlich die für die Ausführung des Programms erforderliche Umgebung und erfordert nicht, dass der Zielcomputer das SDK installiert, wobei der Nachteil ist, dass die Dateigröße sehr groß wird.
Methode 2:
Rechtsklick statt Bearbeiten der Projektdatei und das Hinzufügen der PublishSingleFile-Knotenkonfiguration – der Code ist wie folgt:
Klicken Sie dann mit der rechten Maustaste und klicken Sie auf die Schaltfläche "Veröffentlichen".
Versammlungslinks
Das .NET Core 3.0 SDK enthält ein Tool, das die Größe Ihrer App durch Analyse von IL und Clipping ungenutzter Assemblies verringern kann.
Eigenständige Apps enthalten alles, was du brauchst, um Code auszuführen, ohne .NET auf deinem Hauptcomputer installieren zu müssen. Oft benötigt die App jedoch nur einen Bruchteil des Frameworks zum Laufen, und andere ungenutzte Bibliotheken können entfernt werden.
.NET Core enthält jetzt eine Einstellung, die die IL Ihrer App mit dem IL-Linker-Tool scannt. Dieses Tool erkennt, welcher Code benötigt wird, und schneidet ungenutzte Bibliotheken ab. Dieses Tool kann die Bereitstellungsgröße einiger Anwendungen erheblich reduzieren.
Um dieses Tool zu aktivieren, nutzen Sie die <PublishTrimmed> Einstellungen Ihres Projekts und veröffentlichen Sie eine eigenständige App:
.NET Core CLI
Wir haben gerade eine 66M-Datei generiert und nach dem Hinzufügen der Konfiguration,Sie wurde auf 35 Mio. gebaut, was die Auslastung auf 30 Mio. verringerte。
Achten Sie darauf, Anwendungen oder Frameworks in Betracht zu ziehen, die Reflexionen oder verwandte dynamische Funktionen verwenden (einschließlich ASP.NET Core und WPF).Meistens beim Schneiden beschädigt。 Diese Beschädigung tritt auf, weil der Linker sich dieses dynamischen Verhaltens nicht bewusst ist und nicht bestimmen kann, welche Frame-Typen für die Reflexion benötigt werden。 Das IL-Linker-Tool kann so konfiguriert werden, dass es diese Situation erkennt.
Am wichtigsten ist, es nach dem Schneiden aufzutragenDurchführung von Tests。
(Ende)
|
Vorhergehend:Löse, dass Ajax keine Werte externen Variablen zuweisen kann.Nächster:Die C-Sprache ist so mächtig, in welcher Sprache ist sie geschrieben?
|