Marc Goodner Program Manager, C++, a annoncé la disponibilité générale de Visual Studio 2022 17.4 : « Nous sommes heureux d'annoncer que Visual Studio 2022 17.4 est désormais généralement disponible. Il s'agit de notre première version GA prenant en charge Arm64. En outre, certaines des autres fonctionnalités importantes qu'il inclut sont .NET 7, le support d'entreprise pour la configuration, y compris la restauration, et beaucoup d'autres ». .NET 7 fait partie de Visual Studio 2022 17.4
La version stable de .NET 7 a été officiellement publiée mardi, jour d'ouverture de l'événement en ligne .NET Conf, en tant que sa plateforme de développement multiplateforme open source de Microsoft.
.NET 7 fait enfin ce que .NET 5 était censé faire en 2020 : couronner les efforts déployés par Microsoft depuis des années pour unifier des produits de développement disparates avec « un seul .NET à l'avenir ». Microsoft estime que les mots clés de cette version sont « unifié », « moderne » et « simple ». Le terme « unifié » signifie que .NET 7 est basé sur une seule bibliothèque de classes de base (Base Class Library - BCL). Toutefois, cela ne signifie pas que les fonctions spécifiques à la plateforme ne sont pas disponibles, et les API spécifiques au système d'exploitation sont accessibles en spécifiant le moniker de trame cible (TFM) suivant.
En matière de « modernité », .NET MAUI, une bibliothèque d'interface utilisateur multiplateforme, fait désormais partie de .NET 7. .NET 7 est conçu pour les applications natives modernes, les clients mobiles, les services périphériques et les technologies de bureau. Créez des expériences mobiles à l'aide d'une base de code unique sans compromettre les performances natives grâce à .NET MAUI. Créez des applications à page unique (SPA) réactives qui s'exécutent dans votre navigateur et hors ligne en tant qu'applications Web progressives (PWA) à l'aide de technologies familières comme C# et les modèles Razor.
Ces expériences modernes plus rapides ne sont pas uniquement destinées aux nouvelles applications. L'assistant de mise à niveau .NET vous fournira des informations sur la compatibilité et, dans certains cas, assurera la migration complète de vos applications vers .NET 6 et .NET 7. Quant au mot "simple", Microsoft a mentionné des améliorations du langage : la BCL a introduit une interface générique liée aux mathématiques qui permet d'effectuer des opérations mathématiques de manière générique, c'est-à-dire indépendamment du type exact. Il n'est pas nécessaire de surcharger les méthodes pour chaque type.
« .NET 7 apporte à vos applications des performances accrues et de nouvelles fonctionnalités pour C# 11/F# 7, .NET MAUI, ASP.NET Core/Blazor, les API Web, WinForms, WPF, etc. Avec .NET 7, vous pouvez aussi facilement conteneuriser vos projets .NET 7, mettre en place des flux de travail CI/CD dans les actions GitHub et obtenir une observabilité cloud-native », ont écrit Jon Douglas, Jeremy Likness et Angelos Petropoulos dans un billet de blogue mardi.
Améliorations apportées dans le support de C++
MSVC
L'un des principaux investissements pour cette version a été l'amélioration des diagnostics du compilateur. Les nouvelles fonctionnalités C++ telles que les concepts et les plages offrent la possibilité d'un code plus expressif et d'API mieux définies. Cependant, pour en tirer le meilleur parti, de meilleurs diagnostics sont nécessaires à partir de l'outillage afin que les défaillances de contraintes puissent être identifiées et résolues. Voici un exemple rapide de l'amélioration, montrant des informations plus complètes sur les échecs de résolution de surcharge et des informations sur les raisons pour lesquelles une contrainte donnée a échoué :
| Code C++ : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | struct cat {}; struct dog {}; // can pet cats and dogs void pet(cat); void pet(dog); template <class T> concept has_member_pettable = requires (T t) { t.pet(); }; // allow calling as a non-member template <has_member_pettable T> void pet(T); int main() { pet(0); //oh no } |
Erreur dans la version 17.3
En plus des diagnostics améliorés, Microsoft a étendu les capacités d'optimisation de la valeur de retour nommée (NRVO) du compilateur....
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.