Il y a quelques jours, Microsoft a lancé .NET Core 3.0, et l’une des plus grandes améliorations est la prise en charge des applications de bureau Windows (Windows uniquement). En utilisant le SDK Windows Desktop Component de .NET Core 3.0, vous pouvez porter des applications Windows Forms et Windows Presentation Foundation (WPF). Pour être clair, les composants de bureau Windows sont pris en charge et inclus uniquement sur Windows.
Adresse de téléchargement du SDK :La connexion hyperlientérée est visible.
Liens pour introduire les fonctionnalités de .NET Core :
La connexion hyperlientérée est visible.
La connexion hyperlientérée est visible.
Les caractéristiques incluent les suivantes :
- Utilisez C# pour créer des applications web client riches et interactives.
- Utilisez gRPC pour créer des services backend haute performance.
- SignalR prend désormais en charge la reconnexion automatique et les flux client-serveur.
- Utilisez la documentation OpenAPI pour générer un code client fortement typé pour les API Web.
- Le routage des terminaux est intégré via le framework.
- Kestrel a HTTP/2 activé par défaut.
- API web intégrée et support de l’authentification d’applications à page unique.
- Les certificats et l’authentification Kerberos sont pris en charge.
- Intégrez le nouveau sérialiseur System.Text.Json.
- Le nouvel hébergement universel met en place des services gérés courants tels que l’injection de dépendances, la configuration et la journalisation.
- Un nouveau modèle de Service des Travailleurs pour construire des services à long terme.
- De nouveaux EventCounters sont créés pour les requêtes par seconde, le total, les requêtes actuelles et les requêtes échouées.
- Les erreurs de démarrage hébergées dans IIS sont désormais signalées dans le journal des événements Windows.
- Demande d’intégration de pipeline System.IO.Pipelines.
- Améliorations de performance sur toute la pile technologique.
Créons un nouveau projet console .NET Core 3.0 avec VS 2019, comme montré dans la figure ci-dessous :
En référence au paquet Newtonsoft.Json, écrivez quelques lignes de code, comme suit :
Nous faisons un clic droit sur VS Regenerate, puis ouvrons le répertoire bin du projet, et constatons que plusieurs fichiers seront générés, y compris :demo1.exe et Newtonsoft.Json.dll.
Publier un exécutable à fichier unique
Méthode 1 :
Exécutez la commande suivante dans le répertoire du projet :
Nous ouvrons le dossier C :\Users\itsvse_pc\source\repos\demo1\demo1\bin\Debug\netcoreapp3.0\win10-x64, et nous constaterons que beaucoup de fichiers dll sont générés et qu’il y a un dossier de publication.
Va dans le dossier de publication,La taille de la demo1.exe de visionnage est de 66M, ce qui correspond à la taille de tous les fichiers hors du dossier, comme montré dans la figure ci-dessous :
Le fichier exécutable unique généré contient en réalité l’environnement nécessaire à l’exécution du programme, et ne nécessite pas que l’ordinateur cible installe le SDK, et l’inconvénient est que la taille du fichier deviendra très grande.
Méthode 2 :
Faites un clic droit contre modifier le fichier projet et ajouter la configuration du nœud PublishSingleFile, le code est le suivant :
Puis faites un clic droit et cliquez sur le bouton « Publier ».
Liens d’assemblage
Le SDK .NET core 3.0 est livré avec un outil qui peut réduire la taille de votre application en analysant l’IL et en découpant des assemblages inutilisés.
Les applications autonomes incluent tout ce dont vous avez besoin pour faire tourner du code sans avoir à installer .NET sur votre ordinateur principal. Cependant, bien souvent, l’application n’a besoin que d’une fraction du framework pour fonctionner, et d’autres bibliothèques inutilisées peuvent être supprimées.
.NET Core inclut désormais un paramètre qui scanne l’IL de votre application à l’aide de l’outil de lien IL. Cet outil détectera le code nécessaire puis découpera les bibliothèques inutilisées. Cet outil peut réduire significativement la taille de déploiement de certaines applications.
Pour activer cet outil, utilisez les <PublishTrimmed> paramètres de votre projet et publiez une application autonome :
.NET Core CLI
Nous venons de générer un fichier 66M, et après avoir ajouté la configuration,Elle est devenue 35M, réduisant l’occupation de 30M。
Veillez à considérer les applications ou frameworks utilisant des réflexions ou des fonctionnalités dynamiques associées (y compris ASP.NET Core et WPF).Généralement endommagé lors de la coupe。 Cette corruption se produit parce que le linker n’est pas conscient de ce comportement dynamique et ne peut pas déterminer quels types de trames sont nécessaires à la réflexion。 L’outil de liaison IL peut être configuré pour détecter cette situation.
Le plus important, c’est de bien l’appliquer après la coupeEffectuer des tests。
(Fin)
|