<?xml version="1.0" encoding="ISO-8859-1"?>

<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
	<channel>
		<title>Forum du club des développeurs et IT Pro - Framework .NET</title>
		<link>https://www.developpez.net/forums/</link>
		<description><![CDATA[Vos questions relatives à l'utilisation des différents Framework .NET]]></description>
		<language>fr</language>
		<lastBuildDate>Thu, 12 Nov 2026 05:56:12 GMT</lastBuildDate>
		<generator>vBulletin</generator>
		<ttl>15</ttl>
		<image>
			<url>https://forum.developpez.be/images/misc/rss.png</url>
			<title>Forum du club des développeurs et IT Pro - Framework .NET</title>
			<link>https://www.developpez.net/forums/</link>
		</image>
		<item>
			<title>Microsoft annonce la dernière version de son framework logiciel .NET 11</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2186678&amp;goto=newpost</link>
			<pubDate>Wed, 11 Nov 2026 16:04:50 GMT</pubDate>
			<description>*Microsoft annonce la...</description>
			<content:encoded><![CDATA[<div><b><font size="4">Microsoft annonce la dernière version de son framework logiciel .NET 11, apportant des améliorations concernant C# 15, ASP.NET Core, .NET MAUI et le développement sous Windows basé sur l'IA</font></b><br />
<br />
<b>Microsoft a annoncé la sortie de .NET 11. La version de cette année permet de développer des applications modernes plus rapidement et de manière plus productive, et apporte des améliorations concernant C# 15, ASP.NET Core, .NET MAUI et le développement sous Windows. Grâce à des centaines d’optimisations du runtime, à des outils SDK plus réactifs et à une réduction de la charge liée aux commandes courantes, vous passez moins de temps à attendre et plus de temps à créer. Cette version permet de créer des applications web et multiplateformes plus riches, tirer parti des nouvelles fonctionnalités du langage C# et explorer le développement basé sur l’IA grâce à des outils améliorés et des capacités « agentiques ».</b><br />
<br />
Microsoft .NET ou simplement .NET (prononcé « dot net » est le nom donné à un ensemble de produits et de technologies informatiques de l'entreprise Microsoft pour rendre des applications facilement portables sur Internet. Le but est de fournir un serveur web local permettant de gérer des services et évitant d'externaliser des données privées sur un service web de stockage ou un hébergement web tiers.<br />
<br />
Récemment, Microsoft a annoncé la sortie de .NET 11. La version de cette année permet de développer des applications modernes plus rapidement et de manière plus productive, et apporte des améliorations concernant C# 15, ASP.NET Core, .NET MAUI et le développement sous Windows. Grâce à des centaines d’optimisations du runtime, à des outils SDK plus réactifs et à une réduction de la charge liée aux commandes courantes, vous passez moins de temps à attendre et plus de temps à créer. Cette version permet de créer des applications web et multiplateformes plus riches, tirer parti des nouvelles fonctionnalités du langage C# et explorer le développement basé sur l’IA grâce à des outils améliorés et des capacités « agentiques ».<br />
<br />
Voici quelques-unes des nouveautés de cette version :<br />
<br />
- Les types union et les hiérarchies fermées de C# 15 vous aident à exprimer les états possibles de votre application et à les gérer à l’aide de modèles vérifiés par le compilateur.<br />
<br />
- Un hôte CLI AOT natif et un serveur MSBuild « warm » réduisent la charge dans les workflows quotidiens des développeurs.<br />
<br />
- ASP.NET Core apporte la validation asynchrone, OpenAPI 3.2 et de nouvelles fonctionnalités pour les applications Blazor et SignalR. Les composants Blazor AI expérimentaux s’intègrent au protocole AG-UI (Agent User Interaction Protocol) pour des expériences Web agentiques avancées.<br />
<br />
- Créez des applications agentiques basées sur l’IA avec Microsoft.Extensions.AI (MEAI) pour l’accès aux modèles, MCP pour l’intégration d’outils et Microsoft Agent Framework (MAF) pour les agents et les workflows.<br />
<br />
- Mettez à profit les outils de développement agentique avec .NET Skills pour des conseils spécifiques à .NET, .NET MAUI DevFlow pour inspecter et tester les applications en cours d’exécution, et le canevas de mise à niveau .NET pour suivre la progression de la modernisation.<br />
<br />
- .NET MAUI adopte CoreCLR comme runtime par défaut et améliore l’itération XAML ainsi que les contrôles natifs.<br />
<br />
- Les bibliothèques intègrent désormais la compression Zstandard, simplifient l’exécution des processus, offrent une prise en charge JSON plus complète et proposent de nouvelles façons de travailler avec des données en mémoire sans avoir à les copier au préalable.<br />
<br />
<div style="text-align: center;">
<div class="video-container"><iframe class="restrain" title="YouTube video player" width="560" height="315" allowfullscreen src="//www.youtube.com/embed/SIBdHRrk8os?wmode=transparent&amp;fs=1" frameborder="0"></iframe></div>
</div><br />
Voici la présentation des nouveautés de .NET 11 par Microsoft :<br />
<br />
<b><font size="3">Langages</font></b><br />
<br />
<b>C# 15</b><br />
<br />
C# 15 est la version de langage par défaut pour les projets ciblant .NET 11. Les types union constituent l’une de ses principales nouveautés : une valeur peut correspondre à l’un des types d’un ensemble déclaré, avec des conversions entre ces types et une vérification d’exhaustivité dans les expressions switch.<br />
<br />
Prenons l’exemple d’une recherche de produit qui, soit trouve un produit, soit signale qu’il n’a pas été trouvé :<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br /></div></td><td valign="top"><pre style="margin: 0">ProductLookup result = <span style="color: #0000ff;">new</span> Product<span class="br0">&#40;</span><span style="color: #cc66cc;">42</span>, <span style="color: #FF0000;">&quot;Mechanical keyboard&quot;</span><span class="br0">&#41;</span>;
&nbsp;
<span style="color: #0000ff;">string</span> message = result <span style="color: #0000ff;">switch</span>
<span class="br0">&#123;</span>
    Product product =&gt; <span style="color: #FF0000;">$</span><span style="color: #FF0000;">&quot;Found <span style="color: black;"><span class="br0">&#123;</span>product.Name<span class="br0">&#125;</span></span>&quot;</span>,
    ProductNotFound missing =&gt; <span style="color: #FF0000;">$</span><span style="color: #FF0000;">&quot;No product with ID <span style="color: black;"><span class="br0">&#123;</span>missing.Id<span class="br0">&#125;</span></span>&quot;</span>,
<span class="br0">&#125;</span>;
&nbsp;
Console.WriteLine<span class="br0">&#40;</span>message<span class="br0">&#41;</span>;
&nbsp;
<span style="color: #0000ff;">public</span> <span style="color: #0000ff;">sealed</span> record Product<span class="br0">&#40;</span><span style="color: #0000ff;">int</span> Id, <span style="color: #0000ff;">string</span> Name<span class="br0">&#41;</span>;
<span style="color: #0000ff;">public</span> <span style="color: #0000ff;">sealed</span> record ProductNotFound<span class="br0">&#40;</span><span style="color: #0000ff;">int</span> Id<span class="br0">&#41;</span>;
<span style="color: #0000ff;">public</span> union ProductLookup<span class="br0">&#40;</span>Product, ProductNotFound<span class="br0">&#41;</span>;</pre></td></tr></table></code><hr />
</div><br />
<br />
Le type de résultat indique à l’appelant les résultats qu’il doit gérer. Il n’est pas nécessaire d’utiliser <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block"><span style="color: #0000ff;">object</span></span> ou une classe de base sans rapport simplement pour regrouper ces résultats sous un seul type de retour.<br />
<br />
C# 15 introduit également les hiérarchies fermées. Une classe fermée limite la dérivation directe à son assembly de déclaration, fournissant ainsi au compilateur les informations nécessaires pour vérifier les modèles à travers la hiérarchie. Les unions sont utiles lorsque vous souhaitez combiner des types existants ; les hiérarchies fermées conviennent aux modèles dans lesquels vous maîtrisez la relation d’héritage.<br />
<br />
Des fonctionnalités linguistiques plus modestes facilitent également l’écriture du code au quotidien. Les arguments d’expression de collection vous permettent de passer des arguments de constructeur ou d’usine sans renoncer à la syntaxe des expressions de collection :<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br /></div></td><td valign="top"><pre style="margin: 0">HashSet&lt;<span style="color: #0000ff;">string</span>&gt; names =
    <span class="br0">&#91;</span>with<span class="br0">&#40;</span>StringComparer.OrdinalIgnoreCase<span class="br0">&#41;</span>, <span style="color: #FF0000;">&quot;Alice&quot;</span>, <span style="color: #FF0000;">&quot;ALICE&quot;</span>, <span style="color: #FF0000;">&quot;Bob&quot;</span><span class="br0">&#93;</span>;
&nbsp;
Console.WriteLine<span class="br0">&#40;</span>names.Count<span class="br0">&#41;</span>;</pre></td></tr></table></code><hr />
</div><br />
<br />
Cela affiche <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block"><span style="color: #cc66cc;">2</span></span> : le comparateur contrôle l’égalité, donc « <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">Alice</span> » et « <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">ALICE</span> » constituent une seule entrée.<br />
<br />
Parmi les autres ajouts, on trouve les indexeurs d’extension ainsi que les instructions <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block"><span style="color: #0000ff;">break</span></span> et <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block"><span style="color: #0000ff;">continue</span></span> étiquetées. Ces fonctionnalités ne nécessitent pas la version préliminaire du langage. Les travaux distincts sur la sécurité mémoire restent en phase de préversion.<br />
<br />
<b>F# 11</b><br />
<br />
F# 11 améliore l’utilisation de la mémoire par le compilateur et réduit les allocations dans les opérations sur les collections de FSharp.Core. Il ajoute également des moyens de limiter le travail asynchrone concurrent, ce qui est utile lorsqu’une opération sur une collection risquerait sinon de déclencher plus de travail qu’un service ou une machine ne peut en gérer confortablement.<br />
<br />
Les notes de mise à jour de F# distinguent les mises à jour du langage de base des fonctionnalités en préversion, notamment la prise en charge de Runtime Async pour les générateurs d’expressions de calcul personnalisés.<br />
<br />
<b><font size="3">Plateforme</font></b><br />
<br />
<b>SDK</b><br />
<br />
Le SDK active désormais par défaut un hôte CLI AOT natif. Les commandes telles que les requêtes d’aide et de version peuvent s’exécuter sans lancer la CLI gérée, et le lancement d’outils peut également éviter ce chemin de démarrage. Les commandes nécessitant une exécution gérée continuent toutefois de l’utiliser.<br />
<br />
Le serveur MSBuild reste également actif par défaut entre les invocations de la CLI, ce qui réduit les opérations de démarrage répétées. Les programmes d’installation du SDK sous Linux et macOS sont plus légers grâce à la déduplication des assemblages.<br />
<br />
Les applications basées sur des fichiers peuvent s’étendre à plusieurs fichiers source grâce à <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block"><span style="color: #339933;">#:include</span></span>, et les filtres de solution peuvent être créés et modifiés depuis la CLI. <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">dotnet watch</span> ajoute l’intégration de l’hôte d’applications Aspire, la récupération après plantage et la sélection de périphériques pour les projets mobiles.<br />
<br />
Pour les équipes utilisant Microsoft.Testing.Platform, <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">dotnet test</span> bénéficie désormais de délais d’exécution, de limites d’échecs, de rapports de progression plus clairs et de répertoires de résultats par module. Le choix du moteur de test est important : ces options ne sont pas interchangeables avec les options de ligne de commande de VSTest.<br />
<br />
La publication de conteneurs ajoute des résumés d’images reproductibles via <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">SOURCE_DATE_EPOCH</span> et évite les téléchargements redondants de couches lorsque le manifeste cible existe déjà. La configuration de la source NuGet intègre désormais un paramètre définissant l’âge minimum de publication des paquets, ce qui permet aux équipes d’attendre avant que les nouvelles versions de paquets publiées ne soient éligibles à la sélection. Il s’agit d’un contrôle de politique supplémentaire, qui ne remplace pas les vérifications de vulnérabilité ni l’examen des dépendances.<br />
<br />
<b>Exécution et performances</b><br />
<br />
Les améliorations apportées aux performances dans .NET 11 concernent à la fois le code que vous déployez et les outils que vous utilisez pour le développer. L’article de Stephen Toub intitulé « Améliorations des performances dans .NET 11 » passe en revue de manière détaillée des centaines d’optimisations au niveau de l’exécution et des bibliothèques, avec des benchmarks et des exemples de code.<br />
<br />
Les améliorations apportées au compilateur « just-in-time » (JIT) suppriment davantage de vérifications de limites et de branchements redondants, améliorent la dévirtualisation et regroupent davantage d’opérations en constantes. Par exemple, le JIT peut optimiser des appels <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">SequenceEqual</span> supplémentaires lorsqu’il connaît les entrées au moment de la compilation. Ces modifications améliorent le code généré sans que vous ayez à réécrire la logique d’application correspondante.<br />
<br />
Le dispatch d’interface AOT natif utilise un assistant partagé qui réduit le code nécessaire aux emplacements d’appel d’interface et améliore le débit pour les charges de travail faisant un usage intensif des interfaces. La prise en charge matérielle s’étend également, notamment avec les instructions FP16 pour les opérations <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">Half</span> sur le matériel x64 et Arm64 pris en charge, ainsi que de nouvelles API de construction et de composition vectorielles.<br />
<br />
Des travaux utiles ont également été menés en matière de diagnostics. La journalisation des rapports de plantage en cours de traitement permet de capturer une trace de pile gérée, des informations sur les modules et l’état d’exécution avant la fermeture d’un processus. Auparavant disponible sur les plateformes mobiles, ce mécanisme de rapport prend désormais également en charge Linux et macOS.<br />
<br />
Comme toujours, évaluez l’impact sur votre propre application. Le débit, le temps de démarrage, l’utilisation de la mémoire et la taille du déploiement dépendent de la charge de travail et des options de publication que vous choisissez.<br />
<br />
Runtime Async a été un thème récurrent tout au long des préversions de .NET 11. Il déplace la suspension et la reprise asynchrones vers le runtime au lieu de s’appuyer sur des machines à états générées par le compilateur.<br />
<br />
L’un des résultats particulièrement utiles est une pile d’appels en temps réel plus claire. Les profileurs et les débogueurs peuvent afficher les méthodes asynchrones elles-mêmes au lieu de l’infrastructure utilisée pour les exécuter. Cela se distingue des traces de pile d’exceptions, qui masquent déjà une grande partie de cette infrastructure.<br />
<br />
Runtime Async reste une fonctionnalité en préversion. Pour l’essayer dans un projet ciblant <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">net11.0</span>, ajoutez :<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br /></div></td><td valign="top"><pre style="margin: 0">&lt;PropertyGroup&gt;
  &lt;Features&gt;runtime-<span style="color: #0000ff;">async</span>=on&lt;/Features&gt;
&lt;/PropertyGroup&gt;</pre></td></tr></table></code><hr />
</div><br />
<br />
vous n’avez pas besoin d’activer <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">EnablePreviewFeatures</span> dans ce scénario. Les bibliothèques du runtime .NET sont elles-mêmes construites avec Runtime Async, mais le choix d’intégrer le code de votre application dans le nouveau modèle de compilation est une décision distincte. <br />
<br />
<b>Bibliothèques et outils d’IA</b><br />
<br />
Le SDK .NET 11 inclut un modèle de serveur MCP. MCP offre aux applications d’IA un moyen commun de découvrir et d’appeler des outils et des services. Le modèle utilise le SDK C# officiel de MCP et inclut un exemple d’outil fonctionnel, ce qui vous permet de commencer à exposer vos propres fonctionnalités sans avoir à installer au préalable un package de modèle distinct :<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code">dotnet <span style="color: #0000ff;">new</span> mcpserver -o MyMcpServer</code><hr />
</div><br />
<br />
Pour les applications qui utilisent des services d’IA, Microsoft.Extensions.AI (MEAI) fournit des abstractions telles que <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">IChatClient</span> et <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">IEmbeddingGenerator</span>. Ces bibliothèques vous permettent de composer l’accès aux modèles à l’aide de l’injection de dépendances, de la mise en cache et d’OpenTelemetry en utilisant des modèles .NET familiers. Elles sont disponibles sous forme de packages NuGet, et non pas en tant que fonctionnalités vous obligeant à migrer l’intégralité du code de votre application vers une nouvelle version du framework.<br />
<br />
Microsoft Agent Framework (MAF) s’appuie sur ces abstractions avec des agents qui appellent des outils et gèrent l’état de la conversation, ainsi que des workflows qui coordonnent les agents et le code de l’application. Connectez des agents aux outils MCP pour leur donner accès aux capacités de votre application, et exposez un agent via un point de terminaison ASP.NET Core AG-UI pour créer une expérience Blazor interactive. L’intégration d’hébergement AG-UI est actuellement en préversion.<br />
<br />
<b>Bibliothèques</b><br />
<br />
Les bibliothèques .NET ajoutent des fonctionnalités qui nécessitaient auparavant une configuration supplémentaire, des tampons intermédiaires ou des aides personnalisées.<br />
<br />
L’extension de l’API Process inclut des méthodes à exécution unique permettant de lancer un processus et de capturer sa sortie ainsi que son état de sortie. Des API plus avancées vous permettent de contrôler les descripteurs hérités, les démarrages suspendus et la signalisation des processus. Les outils de compilation et les utilitaires de développement peuvent consacrer moins de code à la gestion des processus tout en continuant à vérifier comment un processus fils s’est terminé. Consultez la section « Améliorations de l’API Process dans .NET 11 » pour des exemples.<br />
<br />
La compression Zstandard vient s’ajouter aux formats de compression existants dans <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">System.IO.Compression</span>. De nouvelles API de compression basées sur des intervalles prennent en charge les appelants qui gèrent leurs propres tampons, et les améliorations apportées au format ZIP incluent la validation CRC32 lors de la lecture des entrées.<br />
<br />
Quatre nouveaux adaptateurs de flux en mémoire permettent de relier les données existantes à des API acceptant un flux : <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">ReadOnlyMemoryStream</span>, <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">WritableMemoryStream</span>, <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">ReadOnlySequenceStream</span> et <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">StringStream</span>. Par exemple, un <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">ReadOnlySequence&lt;<span style="color: #0000ff;">byte</span>&gt;</span> segmenté d’un pipeline peut être lu sous forme de flux sans avoir à le « aplatir » au préalable dans un nouveau tampon contigu.<br />
<br />
System.Text.Json ajoute la prise en charge des unions C#, des unions discriminées F# et de la sortie JSON Lines à partir de séquences asynchrones. La prise en charge des unions F# utilise la réflexion et ne prend pas en charge la génération de code source, le rognage ni l’AOT natif ; vérifiez donc les limites documentées avant de l’utiliser pour une application allégée.<br />
<br />
LINQ ajoute FullJoin, qui conserve les éléments non appariés des deux entrées. Cela s’avère utile pour les opérations de rapprochement, telles que la comparaison de deux inventaires où vous devez identifier les articles manquants de part et d’autre.<br />
<br />
Les bibliothèques étendent également les types numériques, la résolution DNS, la cryptographie et la configuration du traçage. La présentation des bibliothèques couvre l’ensemble complet des modifications et signale les API qui restent expérimentales.<br />
<br />
<b>Entity Framework Core 11</b><br />
<br />
Entity Framework Core 11 améliore la manière dont votre modèle est converti en requête et dont cette requête est convertie en SQL.<br />
<br />
EF Core supprime les jointures inutiles dans davantage de scénarios de navigation par référence et de requêtes fractionnées, améliore la traduction de <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">GroupBy</span> et traduit le nouvel opérateur LINQ <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">FullJoin</span> sur les fournisseurs relationnels qui le prennent en charge. Ces modifications permettent de simplifier le code SQL généré tout en conservant davantage de requêtes dans LINQ.<br />
<br />
Les types complexes et les colonnes JSON peuvent désormais être utilisés sur des entités mappées avec un héritage de type « table par type » ou « table par type concret ». Parmi les autres améliorations, citons les outils de migration et des fonctionnalités JSON supplémentaires spécifiques aux fournisseurs.<br />
<br />
Pour les applications SQL Server, EF Core ajoute la prise en charge des index vectoriels et de la recherche vectorielle approximative. Les fonctionnalités SQL Server et les API EF correspondantes sont expérimentales.<br />
<br />
EF Core 11 nécessite .NET 11. Lors de la mise à niveau, vérifiez la compatibilité de votre fournisseur de base de données, les modifications rompant la compatibilité d’EF Core 11 ainsi que les changements apportés au runtime.<br />
<br />
<b>Outils de développement</b><br />
<br />
Le nouveau gestionnaire de chaînes d’outils dotnetup vous permet d’installer et de mettre à jour les SDK et les runtimes .NET dans votre compte utilisateur. Il est actuellement en préversion publique et vous aide à gérer les versions en parallèle et à rester à jour avec les mises à jour de maintenance.<br />
<br />
.NET Skills fournit aux agents de codage des conseils spécifiques à chaque tâche, prodigués par l’équipe .NET. Notre présentation de .NET Skills explique comment ajouter ces compétences à votre agent de codage.<br />
<br />
La boîte à outils expérimentale .NET MAUI DevFlow expose l’arborescence visuelle d’une application en cours d’exécution, des captures d’écran et des outils d’interaction, afin qu’un agent puisse inspecter et tester l’interface utilisateur plutôt que de travailler uniquement à partir du code source.<br />
<br />
Pour la modernisation, le canevas .NET Upgrade vous offre une vue visuelle d’une session de mise à niveau GitHub Copilot. Examinez les résultats de l’évaluation et la compatibilité des dépendances, suivez les tâches de mise en œuvre et surveillez les échecs et la progression au fur et à mesure que l’agent de mise à niveau travaille.<br />
<br />
<b><font size="3">Charges de travail</font></b><br />
<br />
<b>Web : ASP.NET Core et Blazor</b><br />
<br />
Les types d’application sont particulièrement utiles lorsque le reste de la pile les prend en charge. ASP.NET Core prend en charge les unions C# partout où il utilise <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">System.Text.Json</span>, y compris dans les corps de requêtes et de réponses JSON des API minimales et de MVC. Les documents OpenAPI générés décrivent les alternatives de l’union à l’aide d’un schéma « <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">anyOf</span> ».<br />
<br />
Cette prise en charge s’applique aux corps JSON, et non au routage, aux requêtes, aux en-têtes ou au liaison de formulaires. Lorsque plusieurs cas d’union présentent la même structure JSON, configurez un classificateur afin que la désérialisation puisse les distinguer. La documentation sur les unions dans ASP.NET Core explique ces limites.<br />
<br />
La validation devient également plus pratique pour les règles nécessitant des opérations d’E/S. La validation asynchrone fonctionne avec les nouvelles API DataAnnotations asynchrones ; ainsi, un validateur peut attendre le résultat d’une recherche dans la base de données ou d’un appel distant au lieu de bloquer un thread. Les API minimales et les formulaires Blazor peuvent bénéficier de cette prise en charge.<br />
<br />
OpenAPI 3.2 est désormais la version par défaut pour les documents générés. Parmi d’autres améliorations, elle permet au document de décrire la charge utile par événement d’un flux d’événements envoyés par le serveur. Si un générateur client ou un autre élément de votre chaîne d’outils ne prend pas encore en charge la version 3.2, vous pouvez sélectionner explicitement une version antérieure du document.<br />
<br />
Pour les connexions de longue durée, l’actualisation de l’authentification SignalR permet à une connexion de rafraîchir l’authentification sans se reconnecter. Les composants Blazor Interactive Server peuvent recevoir l’identité mise à jour et réagir lorsque les revendications changent.<br />
<br />
Blazor ajoute des fonctionnalités tant pour les pages rendues de manière statique que pour les applications interactives.<br />
<br />
Le nouveau composant CacheView met en cache le résultat du rendu d’une sous-arborescence de composants lors du rendu statique côté serveur. En cas d’accès au cache, Blazor réutilise le balisage sans créer ces composants enfants ni exécuter leurs méthodes de cycle de vie. Cela vous offre une unité de mise en cache plus petite pour les sections coûteuses et principalement statiques d’une page.<br />
<br />
Les applications Interactive Server peuvent activer la mise en pause automatique du circuit lorsqu’un onglet de navigateur devient inactif. Après un délai configurable, la mise en pause libère la mémoire serveur et la connexion SignalR occupées par un utilisateur inactif. Cette fonctionnalité nécessite un package supplémentaire et une configuration explicite ; la mise à jour ne modifie pas automatiquement le comportement de circuit de votre application.<br />
<br />
Les formulaires bénéficient désormais d’une validation côté client pour le rendu statique côté serveur et prennent en charge la validation asynchrone. <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">QuickGrid</span> et <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">Virtualize</span> offrent de nouvelles possibilités pour se déplacer vers un élément particulier, ce qui est utile pour ramener un utilisateur à sa position dans une grande collection.<br />
<br />
Blazor ajoute également des composants pour les interfaces utilisateur de type « agent ». Le nouveau package <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">Microsoft.AspNetCore.Components.AI</span> comprend des composants pour le chat en continu, le rendu d’outils, les flux d’approbation et l’état partagé de l’interface utilisateur. Le chat de base fonctionne avec n’importe quel <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">IChatClient</span>. Pour des expériences avancées avec un agent distant, l’intégration AG-UI .NET prend en charge les réponses diffusées en continu, les événements d’outils, les demandes d’approbation et les mises à jour de l’état partagé entre un point de terminaison d’agent ASP.NET Core et l’interface utilisateur Blazor.<br />
<br />
Le package de composants Blazor AI est expérimental et reste en préversion tout au long de .NET 11. Il s’agit d’une occasion d’explorer cette orientation et de faire part de vos commentaires, et non d’un élément stable du framework partagé ASP.NET Core. <br />
<br />
L’introduction au SDK AG-UI .NET couvre les API client et serveur du protocole. L’article « Créer une interface utilisateur agentique avec les nouveaux composants Blazor AI » les assemble dans une application fonctionnelle.<br />
<br />
<b>Client : .NET MAUI</b><br />
<br />
Dans .NET 11, .NET MAUI fait de CoreCLR le runtime par défaut sur toutes ses plateformes. Le passage à CoreCLR place les applications mobiles et de bureau sur la même base de runtime que les autres charges de travail .NET. Sur les plateformes Apple qui n’autorisent pas la compilation JIT, le runtime utilise du code précompilé et l’interpréteur plutôt que de générer du code natif lors de l’exécution.<br />
<br />
La compilation AOT native est une alternative de publication optionnelle ; sa prise en charge sous Android reste expérimentale. Consultez les recommandations relatives au runtime spécifiques à chaque plateforme et testez les bibliothèques de votre application lorsque vous choisissez un modèle de déploiement.<br />
<br />
Le cycle de développement de l’interface utilisateur fait également l’objet d’une attention particulière :<br />
<br />
- Le rechargement à chaud incrémental XAML est une fonctionnalité en préversion dans .NET 11. Elle met à jour en temps réel les instances de pages et de contrôles, y compris les modifications structurelles prises en charge, sans que vous ayez besoin de quitter la page puis d’y revenir. Elle est activée par défaut dans les versions de débogage.<br />
<br />
- Les déclarations implicites d’espaces de noms XAML éliminent la nécessité de répéter les déclarations d’espaces de noms standard à la racine de chaque fichier.<br />
<br />
- Windows utilise par défaut le nouveau gestionnaire <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">CollectionView2</span>, tandis qu’Android Shell adopte une architecture basée sur des gestionnaires.<br />
<br />
- De nouveaux modèles de test mobiles et la sélection d’appareils de test dotnet intègrent les tests dans le flux de travail de l’interface de ligne de commande (CLI).<br />
<br />
Il s’agit de modifications importantes au niveau du runtime et des gestionnaires ; veillez donc à tester la navigation, les gestionnaires personnalisés et la publication allégée dans le cadre de votre mise à niveau. Le package facultatif <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">Microsoft.Maui.Controls.Compatibility</span> n’est plus fourni ; les applications qui y font encore référence doivent migrer vers une autre solution.<br />
<br />
<b>Windows : WinUI, Windows Forms et WPF</b><br />
<br />
Pour les nouvelles applications de bureau Windows, WinUI 3 est le framework d'interface utilisateur natif recommandé. Il associe C# et XAML à des contrôles modernes et au Fluent Design System. Il est fourni via le SDK Windows App, qui met également les API Windows modernes à la disposition des applications WPF et Windows Forms existantes.<br />
<br />
Dans .NET 11, Windows Forms intègre un mode de styles visuels modernes optionnel que vous pouvez sélectionner au niveau de l'application ou du contrôle. Il offre également de nouvelles possibilités pour s'adapter aux paramètres visuels et d'accessibilité du système, différer l'affichage d'un formulaire jusqu'à ce qu'il soit prêt et suspendre le dessin lors de mises à jour en masse.<br />
<br />
Ces contrôles vous permettent d'introduire un rendu actualisé là où cela est pertinent pour votre application, plutôt que de considérer une mise à niveau du framework comme une refonte visuelle automatique.<br />
<br />
Les mises à jour de WPF mettent l’accent sur la fiabilité, notamment avec des correctifs concernant les arrière-plans de fenêtres Fluent, les défaillances du gestionnaire de fenêtres et le nettoyage des événements faibles. La publication autonome sous Windows inclut également une dépendance native requise par les applications qui chargent des assemblages WPF en mode mixte.<br />
<br />
<b>Source</b> : <a rel="nofollow" href="https://devblogs.microsoft.com/dotnet/announcing-dotnet-11/" target="_blank">Annonce de .NET 11</a><br />
<br />
<b>Et vous ?</b><br />
<br />
:fleche: Pensez-vous que cette annonce est crédible ou pertinente ?<br />
:fleche: Quel est votre avis sur le sujet ?<br />
<br />
<b>Voir aussi :</b><br />
<br />
:fleche: <a href="https://dotnet.developpez.com/actu/377608/Microsoft-annonce-la-derniere-version-de-son-framework-logiciel-NET-10-apportant-des-ameliorations-au-compilateur-JIT-des-ameliorations-NativeAOT-ainsi-que-l-optimisation-du-runtime/" target="_blank">Microsoft annonce la dernière version de son framework logiciel .NET 10, apportant des améliorations au compilateur JIT, des améliorations NativeAOT, ainsi que l'optimisation du runtime</a><br />
<br />
:fleche: <a href="https://dotnet.developpez.com/actu/369950/Microsoft-annonce-un-template-IA-NET-en-avant-premiere-pour-rendre-le-developpement-de-l-IA-avec-NET-plus-facile-a-decouvrir-et-a-utiliser-avec-des-conseils-dans-Visual-Studio-et-Visual-Studio-Code/" target="_blank">Microsoft annonce un template IA .NET en avant-première pour rendre le développement de l'IA avec .NET plus facile à découvrir et à utiliser, avec des conseils dans Visual Studio et Visual Studio Code</a><br />
<br />
:fleche: <a href="https://intelligence-artificielle.developpez.com/actu/379222/IA-generative-avec-des-grands-modeles-de-langage-en-C-en-2026-une-base-pour-les-developpeurs-NET-C-travaillant-avec-Microsoft-Foundry-GitHub-Models-et-AI-Extensions-par-Jeremy-Likness/" target="_blank">IA générative avec des grands modèles de langage en C# en 2026 : une base pour les développeurs .NET/C# travaillant avec Microsoft Foundry, GitHub Models et AI Extensions, par Jeremy Likness</a></div>

]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f268/dotnet/general-dotnet/framework-net/">Framework .NET</category>
			<dc:creator>Jade Emy</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2186678/dotnet/general-dotnet/framework-net/microsoft-annonce-derniere-version-framework-logiciel-net-11-a/</guid>
		</item>
		<item>
			<title>Microsoft annonce .NET 10 qui est une version à support à long terme (LTS)</title>
			<link>https://www.developpez.net/forums/showthread.php?t=2180426&amp;goto=newpost</link>
			<pubDate>Wed, 12 Nov 2025 11:00:21 GMT</pubDate>
			<description>*Microsoft annonce la...</description>
			<content:encoded><![CDATA[<div><b><font size="4">Microsoft annonce la dernière version de son framework logiciel .NET 10, apportant des améliorations au compilateur JIT, des améliorations NativeAOT, ainsi que l'optimisation du runtime</font></b> <br />
<br />
<b>La version la plus récente de .NET est .NET 10, publiée récemment en novembre 2025. Il s'agit d'une version à support à long terme (LTS) qui devrait recevoir des mises à jour jusqu'en novembre 2028. Selon Microsoft, .NET 10 est la version la plus productive, moderne, sécurisée, intelligente et performante de .NET à ce jour. Elle est le fruit d'une nouvelle année d'efforts de la part de milliers de développeurs à travers le monde.</b><br />
<br />
La plateforme .NET (prononcée « dot net » ; anciennement nommée .NET Core) est un framework logiciel gratuit et open source pour les systèmes d'exploitation Windows, Linux et macOS. Il s'agit d'un successeur multiplateforme du .NET Framework. Le projet est principalement développé par des employés de Microsoft par l'intermédiaire de la .NET Foundation et est aujourd'hui publié sous licence MIT.<br />
<br />
La version la plus récente de .NET est .NET 10, publiée récemment en novembre 2025. Il s'agit d'une version à support à long terme (LTS) qui devrait recevoir des mises à jour jusqu'en novembre 2028. Selon Microsoft, .NET 10 est la version la plus productive, moderne, sécurisée, intelligente et performante de .NET à ce jour. Elle est le fruit d'une nouvelle année d'efforts de la part de milliers de développeurs à travers le monde. Cette version comprend des milliers d'améliorations en termes de performances, de sécurité et de fonctionnalités sur l'ensemble de la pile .NET, des langages et outils de développement aux charges de travail, vous permettant de créer à partir d'une plateforme unifiée et d'intégrer facilement l'IA à vos applications.<br />
<br />
Pour l'annonce, Microsoft déclare : &quot;<i>.NET 10 n'aurait pas pu voir le jour sans notre formidable communauté. Merci à tous ceux qui ont contribué à cette version en signalant des problèmes, en soumettant des demandes d'extraction, en révisant le code et en donnant leur avis. L'écosystème .NET continue de prospérer avec plus de 478 000 packages sur NuGet qui ont été téléchargés plus de 800 milliards de fois. Des milliers d'entreprises dans le monde entier, notamment H&amp;R Block, Geocaching, Chipotle, Fidelity et bien d'autres, ainsi que des produits et services ici chez Microsoft tels que Xbox, Bing, Microsoft Graph, Azure Cosmos DB, Microsoft Exchange, Microsoft Teams et Microsoft Copilot, font confiance à .NET pour créer leurs applications les plus critiques.</i>&quot;<br />
<br />
Voici les principales améliorations :<br />
<br />
- Améliorations du compilateur JIT : meilleure intégration, dévirtualisation des méthodes et génération de code améliorée pour les arguments de structure<br />
<br />
- Accélération matérielle : prise en charge d'AVX10.2 pour les puces Intel de pointe, Arm64 SVE pour une vectorisation avancée avec des améliorations de la barrière d'écriture Arm64 réduisant les temps de pause GC de 8 à 20 %<br />
<br />
- Améliorations NativeAOT : applications compilées à l'avance plus petites et plus rapides<br />
<br />
- Optimisations du runtime : l'inversion de boucle améliorée et les stratégies d'allocation de pile offrent des gains de performances mesurables<br />
<br />
<div style="text-align: center;"><img src="https://www.developpez.net/forums/attachments/p671713d1762971485/dotnet/general-dotnet/framework-net/microsoft-annonce-net-10-version-support-long-terme-lts/1.jpg/" border="0" alt="Nom : 1.jpg
Affichages : 26971
Taille : 23,7 Ko"  style="float: CONFIG" /></div><br />
<b><font size="3">C# 14 et F# 10</font></b><br />
<br />
C# 14 et F# 10 apportent de puissantes améliorations au langage qui rendent votre code plus concis et plus expressif. C# reste l'un des langages de programmation les plus populaires au monde, se classant parmi les 5 premiers dans le rapport GitHub Octoverse 2025.<br />
<br />
<b>Points forts de C# 14</b><br />
<br />
Les propriétés soutenues par des champs simplifient les déclarations de propriétés en éliminant le besoin de champs de soutien explicites. Le compilateur génère automatiquement le champ de support, ce qui rend votre code plus propre et plus facile à maintenir :<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #808080;">// Automatic backing field with custom logic</span>
<span style="color: #0000ff;">public</span> <span style="color: #0000ff;">string</span> Name
<span class="br0">&#123;</span>
    <span style="color: #0000ff;">get</span> =&gt; field;
    <span style="color: #0000ff;">set</span> =&gt; field = <span style="color: #0000ff;">value</span>?.Trim<span class="br0">&#40;</span><span class="br0">&#41;</span> ?? <span style="color: #0000ff;">string</span>.Empty;
<span class="br0">&#125;</span></pre></td></tr></table></code><hr />
</div><br />
<br />
<br />
Les propriétés et méthodes d'extension permettent d'ajouter des membres à des types qui ne vous appartiennent pas, y compris des interfaces et des membres statiques, ce qui rend les types d'extension beaucoup plus puissants. Vous pouvez désormais créer des propriétés d'extension qui fonctionnent de manière transparente avec les types de votre base de code :<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #808080;">// Extension properties for any type</span>
<span style="color: #0000ff;">static</span> <span style="color: #0000ff;">class</span> ListExtensions
<span class="br0">&#123;</span>
    extension<span class="br0">&#40;</span>List&lt;<span style="color: #0000ff;">int</span>&gt; @this<span class="br0">&#41;</span>
    <span class="br0">&#123;</span>
        <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">int</span> Sum =&gt; @this.Aggregate<span class="br0">&#40;</span><span style="color: #cc66cc;">0</span>, <span class="br0">&#40;</span>a, b<span class="br0">&#41;</span> =&gt; a + b<span class="br0">&#41;</span>;
    <span class="br0">&#125;</span>
<span class="br0">&#125;</span></pre></td></tr></table></code><hr />
</div><br />
<br />
<br />
<b>Fonctionnalités supplémentaires de C# 14 :</b><br />
<br />
- Conversions <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">Span&lt;T&gt;</span> de première classe : prise en charge implicite des conversions pour des opérations span hautes performances.<br />
<br />
- Affectation conditionnelle null : opérateur <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">?.=</span> pour un code d'affectation null-safe plus propre.<br />
<br />
- Modificateurs de paramètres dans les lambdas : utilisez les paramètres <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block"><span style="color: #0000ff;">ref</span></span>, <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block"><span style="color: #0000ff;">in</span></span> ou <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block"><span style="color: #0000ff;">out</span></span> sans types explicites.<br />
<br />
- Extensions d'expression de collection : <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">.._expression_</span> vers <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block"><span style="color: #0000ff;">params</span></span> et syntaxe de propagation <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block"><span class="br0">&#91;</span>.._expression_<span class="br0">&#93;</span></span>.<br />
<br />
- Résolution de surcharge améliorée : attribut <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block"><span class="br0">&#91;</span>OverloadResolutionPriority<span class="br0">&#93;</span></span> pour une meilleure sélection des méthodes.<br />
<br />
- Propriétés et constructeurs partiels : complétez l'histoire des membres partiels avec des propriétés, des constructeurs et des événements.<br />
<br />
- Implémentations d'interface <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block"><span style="color: #0000ff;">ref</span> <span style="color: #0000ff;">struct</span></span> : meilleures performances avec des modèles sans allocation.<br />
<br />
<br />
<b>Points forts de F# 10</b><br />
<br />
F# 10 est une version améliorée axée sur la clarté, la cohérence et les performances, avec des améliorations significatives pour le code quotidien.<br />
<br />
<b>Améliorations du langage :</b><br />
<br />
- Suppression des avertissements dans un périmètre donné : utilisez <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block"><span style="color: #339933;">#warnon</span></span> associé à <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block"><span style="color: #339933;">#nowarn</span></span> pour activer ou désactiver les avertissements dans des sections de code spécifiques, ce qui vous permet de contrôler précisément les diagnostics du compilateur.<br />
<br />
- Modificateurs d'accès sur les accesseurs de propriétés automatiques : créez des propriétés lisibles publiquement mais modifiables en privé sans champs de support verbeux (<span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">member val Balance = <span style="color: #cc66cc;">0</span>m with <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">get</span>, <span style="color: #0000ff;">private</span> <span style="color: #0000ff;">set</span></span>).<br />
<br />
- Paramètres facultatifs <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">ValueOption</span> : appliquez l'attribut <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block"><span class="br0">&#91;</span>&lt;Struct&gt;<span class="br0">&#93;</span></span> aux paramètres facultatifs pour utiliser <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">ValueOption&lt;<span style="color: #FF0000;">'T&gt;</span></span> basé sur une structure au lieu d'une <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">option</span> allouée dans le tas, éliminant ainsi les allocations dans le code critique pour les performances.<br />
<br />
- Prise en charge des appels en queue dans les expressions de calcul : les constructeurs peuvent désormais opter pour des optimisations d'appels en queue avec les méthodes <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">ReturnFromFinal</span> et <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">YieldFromFinal</span>.<br />
<br />
- Liaisons typées sans parenthèses : écrivez des annotations de type naturelles telles que <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block"><span style="color: #0000ff;">let</span>! x: <span style="color: #0000ff;">int</span> = fetchA<span class="br0">&#40;</span><span class="br0">&#41;</span></span> dans les expressions de calcul sans parenthèses.<br />
<br />
<b>Bibliothèque principale et performances :</b><br />
<br />
- <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">and!</span> dans les expressions de tâche : attendez simultanément plusieurs tâches avec une syntaxe idiomatique : <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block"><span style="color: #0000ff;">let</span>! a = fetchA<span class="br0">&#40;</span><span class="br0">&#41;</span> and! b = fetchB<span class="br0">&#40;</span><span class="br0">&#41;</span></span>.<br />
<br />
- Cache de subsomption de types : compilation plus rapide et réactivité de l'EDI grâce à des vérifications mémorisées des relations entre les types.<br />
<br />
- Aperçu de la compilation parallèle : vérification des types basée sur des graphes, génération parallèle de code IL et optimisation parallèle activées par défaut avec <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">LangVersion=Preview</span>- Meilleur rognage par défaut : les substitutions générées automatiquement suppriment les ressources de métadonnées F# pour des applications publiées plus petites<br />
<br />
<br />
<b><font size="3">Bibliothèques .NET – API sécurisées et modernes</font></b><br />
<br />
Les bibliothèques .NET 10 apportent des mises à jour importantes en matière de chiffrement, de mise en réseau, de sérialisation et plus encore, rendant les applications plus sûres et plus efficaces.<br />
<br />
<b>Chiffrement post-quantique</b><br />
<br />
.NET 10 étend la prise en charge du chiffrement post-quantique (PQC) :<br />
<br />
- Prise en charge de Windows CNG : utilisez les algorithmes ML-DSA et ML-KEM avec les API de cryptographie Windows.<br />
<br />
- ML-DSA amélioré : variante HashML-DSA pour des caractéristiques de sécurité améliorées.<br />
 <br />
- ML-DSA composite : approches hybrides combinant des algorithmes traditionnels et résistants aux quantums pour une défense en profondeur.<br />
<br />
<b>Réseau amélioré</b><br />
<br />
Les améliorations apportées au réseau rendent les applications plus rapides et plus performantes :<br />
<br />
- WebSocketStream : API WebSocket simplifiée, plus facile à utiliser et plus efficace.<br />
<br />
- TLS 1.3 sur macOS : prise en charge TLS moderne sur toutes les principales plateformes.<br />
<br />
- Prise en charge des groupes de processus Windows : meilleure gestion des processus sous Windows.<br />
 <br />
- Optimisations des performances : réduction des allocations et amélioration du débit sur HTTP, les sockets et les WebSockets.<br />
<br />
<b>Améliorations supplémentaires de la bibliothèque</b><br />
<br />
- Améliorations JSON : interdiction des propriétés en double pour une désérialisation plus sûre, paramètres de sérialisation améliorés, prise en charge de PipeReader pour les scénarios hautes performances.<br />
<br />
- Mises à jour cryptographiques : AES KeyWrap avec remplissage pour un encapsulage sécurisé des clés dans les scénarios de conformité.<br />
<br />
- Mises à jour système : diagnostics améliorés, meilleure interopérabilité avec le code natif, collections améliorées.<br />
<br />
<br />
<b><font size="3">Aspire : orchestrez sans effort les interfaces utilisateur, les API, les conteneurs et les bases de données</font></b><br />
<br />
Aspire facilite la création d'applications distribuées observables et prêtes à être mises en production grâce à la télémétrie intégrée, la découverte de services et les intégrations cloud. Aspire 13 est livré avec .NET 10 et apporte des améliorations majeures pour le développement polyglotte, les workflows modernes et le déploiement en entreprise.<br />
<br />
<b>Points forts :</b><br />
<br />
- Expérience de développement moderne : améliorations de l'interface CLI, prise en charge d'AppHost à fichier unique pour une organisation rationalisée des projets et une intégration plus rapide grâce à des modèles simplifiés.<br />
<br />
- Création et déploiement transparents : prise en charge intégrée des sites de fichiers statiques pour les applications frontales, parallélisation robuste du déploiement pour des versions plus rapides et workflows de conteneurs prêts pour la production<br />
<br />
- Infrastructure prête pour l'entreprise : chaînes de connexion flexibles et gestion de la confiance des certificats qui fonctionne de manière cohérente dans toutes vos applications<br />
<br />
<b>Fonctionnalités supplémentaires :</b><br />
<br />
- SDK AppHost simplifié : définissez Aspire.AppHost.Sdk comme seul SDK du projet<br />
<br />
- Prise en charge d'AddCSharpApp : nouvelles alternatives CSharpAppResource et AddCSharpApp à AddProject<br />
<br />
- Sécurité renforcée : paramètres codés pour les données de configuration sensibles, confiance des certificats de ressources personnalisable<br />
<br />
- Améliorations du tableau de bord : configuration des revendications OpenID Connect pour une authentification flexible<br />
<br />
<b>Collaboration avec d'autres plateformes :</b><br />
<br />
Lorsque vos applications .NET doivent s'intégrer à des services écrits en Python, JavaScript ou d'autres langages, Aspire 13 rend cette opération transparente. Vous pouvez orchestrer l'ensemble de votre application distribuée à partir de votre .NET AppHost grâce à une prise en charge complète du débogage, des fichiers Dockerfiles générés automatiquement et des modèles de variables d'environnement unifiés sur toutes les plateformes.<br />
<br />
<br />
<b><font size="3">Intelligence artificielle – Des intégrations simples aux systèmes multi-agents</font></b><br />
<br />
.NET facilite la création d'applications basées sur l'IA, des intégrations simples aux systèmes multi-agents complexes. Des entreprises telles que H&amp;R Block, Blip et KPMG utilisent .NET pour leurs solutions d'IA, et le nouveau Microsoft Copilot est développé avec .NET.<br />
<br />
<div style="text-align: center;"><img src="https://www.developpez.net/forums/attachments/p671705d1762963578/dotnet/general-dotnet/framework-net/microsoft-annonce-net-10-version-support-long-terme-lts/1.jpg/" border="0" alt="Nom : 1.jpg
Affichages : 5344
Taille : 45,2 Ko"  style="float: CONFIG" /></div><br />
<b><font size="3">Microsoft Agent Framework – Créez des systèmes multi-agents intelligents</font></b><br />
<br />
Microsoft Agent Framework simplifie la création de systèmes d'IA intelligents et agents en combinant le meilleur de Semantic Kernel et d'AutoGen dans une expérience unifiée. Que vous créiez un seul agent IA ou que vous orchestriez plusieurs agents travaillant ensemble, le framework vous fournit les modèles et l'infrastructure dont vous avez besoin.<br />
<br />
Créez des workflows IA sophistiqués avec un minimum de code :<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #808080;">// Create agents with minimal code</span>
AIAgent writer = <span style="color: #0000ff;">new</span> ChatClientAgent<span class="br0">&#40;</span>
    chatClient,
    <span style="color: #0000ff;">new</span> ChatClientAgentOptions
    <span class="br0">&#123;</span>
        Name = <span style="color: #FF0000;">&quot;Writer&quot;</span>,
        Instructions = <span style="color: #FF0000;">&quot;Write engaging, creative stories.&quot;</span>
    <span class="br0">&#125;</span><span class="br0">&#41;</span>;
&nbsp;
<span style="color: #808080;">// Orchestrate in workflows</span>
AIAgent editor = <span style="color: #0000ff;">new</span> ChatClientAgent<span class="br0">&#40;</span>chatClient, <span style="color: #808080;">/* ... */</span><span class="br0">&#41;</span>;
Workflow workflow = AgentWorkflowBuilder.BuildSequential<span class="br0">&#40;</span>writer, editor<span class="br0">&#41;</span>;
AIAgent workflowAgent = <span style="color: #0000ff;">await</span> workflow.AsAgentAsync<span class="br0">&#40;</span><span class="br0">&#41;</span>;</pre></td></tr></table></code><hr />
</div><br />
<br />
<br />
Le framework prend en charge plusieurs modèles de flux de travail pour répondre aux besoins de votre application :<br />
<br />
- Flux de travail séquentiels : les agents s'exécutent dans un ordre défini, la sortie de chaque agent alimentant le suivant<br />
<br />
- Flux de travail simultanés : plusieurs agents travaillent en parallèle pour un traitement plus rapide<br />
<br />
- Workflows de transfert : les agents se transmettent dynamiquement le contrôle en fonction du contexte et des exigences.<br />
<br />
- Chat de groupe : les agents collaborent par le biais de conversations pour résoudre des problèmes complexes.<br />
<br />
- Magentic : un gestionnaire dédié coordonne une équipe d'agents spécialisés.<br />
<br />
Intégrez des outils de manière transparente, qu'il s'agisse de simples fonctions C# ou de serveurs MCP (Model Context Protocol) complets. Le framework est prêt à être utilisé en production et prend en charge l'injection de dépendances, les pipelines middleware et OpenTelemetry pour l'observabilité.<br />
<br />
Vous pouvez rapidement commencer à créer des agents hébergés sur serveur avec Microsoft Agent Framework et ASP.NET Core à l'aide du nouveau modèle AI Agent Web API (<span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">aiagent-webapi</span>) disponible dans le package de modèles <i>Microsoft.Agents.AI.ProjectTemplates</i>.<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br /></div></td><td valign="top"><pre style="margin: 0">dotnet <span style="color: #0000ff;">new</span> install Microsoft.Agents.AI.ProjectTemplates
dotnet <span style="color: #0000ff;">new</span> aiagent-webapi -o MyAIAgentWebApi
cd MyAIAgentWebApi
dotnet run</pre></td></tr></table></code><hr />
</div><br />
<br />
<br />
Cela crée un projet ASP.NET Core Web API qui héberge vos agents et les expose en tant que points de terminaison HTTP standard. Il inclut l'interface utilisateur Microsoft Agent Framework Dev, qui fournit un harnais de test basé sur le Web pour valider et visualiser les agents et les flux de travail via une interface interactive.<br />
<br />
Microsoft Agent Framework prend désormais en charge le protocole AG-UI pour la création d'interfaces utilisateur riches pour les agents. AG-UI est un protocole léger basé sur les événements pour les interactions entre les humains et les agents qui facilite la création d'interfaces utilisateur en streaming, l'appel d'outils front-end, la gestion des états partagés et d'autres expériences d'interface utilisateur pour les agents. Découvrez divers scénarios compatibles avec AG-UI grâce à Microsoft Agent Framework à l'aide de l'application exemple AG-UI Dojo.<br />
<br />
Utilisez le nouveau package <i>Microsoft.Agents.AI.Hosting.AGUI.AspNetCore</i> pour mapper facilement les points de terminaison AG-UI pour vos agents.<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #808080;">// Map an AG-UI endpoint for the publisher agent at /publisher/ag-ui</span>
app.MapAGUI<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;publisher/ag-ui&quot;</span>, publisherAgent<span class="br0">&#41;</span></pre></td></tr></table></code><hr />
</div><br />
<br />
<br />
Vous pouvez ensuite utiliser les frameworks clients AG-UI existants, tels que CopilotKit, pour créer rapidement des expériences utilisateur riches pour vos agents. Vous pouvez également utiliser le nouveau client de chat .NET AG-UI du package Microsoft.Agents.AI.AGUI pour créer vos propres expériences d'interface utilisateur à l'aide de votre framework d'interface utilisateur .NET préféré, tel que .NET MAUI ou Blazor.<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code">IChatClient aguiChatClient = <span style="color: #0000ff;">new</span> AGUIChatClient<span class="br0">&#40;</span>httpClient, <span style="color: #FF0000;">&quot;publisher/ag-ui);</span></code><hr />
</div><br />
<br />
<br />
<b><font size="3">Microsoft.Extensions.AI – Blocs de construction unifiés pour les applications d'IA</font></b><br />
<br />
<i>Microsoft.Extensions.AI</i> et <i>Microsoft.Extensions.VectorData</i> fournissent des abstractions unifiées pour intégrer des services d'IA dans vos applications. L'interface <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">IChatClient</span> fonctionne avec n'importe quel fournisseur (OpenAI, Azure OpenAI, GitHub Models, Ollama) via une API cohérente, ce qui facilite le changement de fournisseur ou la prise en charge de plusieurs backends sans avoir à réécrire votre code.<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #808080;">// Use any AI provider with the same interface</span>
IChatClient chatClient = <span style="color: #0000ff;">new</span> AzureOpenAIClient<span class="br0">&#40;</span>endpoint, credential<span class="br0">&#41;</span>
    .AsChatClient<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;gpt-4o&quot;</span><span class="br0">&#41;</span>;
&nbsp;
<span style="color: #0000ff;">var</span> response = <span style="color: #0000ff;">await</span> chatClient.CompleteAsync<span class="br0">&#40;</span><span style="color: #FF0000;">&quot;Explain quantum computing&quot;</span><span class="br0">&#41;</span>;
Console.WriteLine<span class="br0">&#40;</span>response.Message<span class="br0">&#41;</span>;</pre></td></tr></table></code><hr />
</div><br />
<br />
<br />
Les abstractions unifiées prennent en charge :<br />
<br />
- Flexibilité des fournisseurs : passez d'un fournisseur d'IA à un autre sans modifier le code.<br />
<br />
- Pipeline middleware : ajoutez la mise en cache, la journalisation ou un comportement personnalisé à n'importe quel appel IA.<br />
<br />
- Injection de dépendances : enregistrez les services IA à l'aide de modèles .NET familiers.<br />
<br />
- Télémétrie : prise en charge OpenTelemetry intégrée pour surveiller l'utilisation de l'IA.<br />
<br />
- Données vectorielles : abstractions unifiées pour les bases de données vectorielles et la recherche sémantique.<br />
<br />
Ces composants fonctionnent de manière transparente avec Microsoft Agent Framework, Semantic Kernel et vos propres implémentations IA.<br />
<br />
<br />
<b><font size="3">Protocole de contexte de modèle (MCP) – Étendez les agents IA avec des outils et des services</font></b><br />
<br />
.NET fournit une prise en charge MCP de premier ordre pour étendre les agents IA avec des outils et des services externes. Le protocole de contexte de modèle permet aux agents IA d'accéder aux sources de données, aux API et aux outils de manière standardisée, rendant vos agents plus performants et polyvalents.<br />
<br />
Installez les modèles .NET AI et utilisez le modèle de serveur MCP pour créer et publier rapidement des serveurs MCP :<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br /></div></td><td valign="top"><pre style="margin: 0">dotnet <span style="color: #0000ff;">new</span> install Microsoft.Extensions.AI.Templates
dotnet <span style="color: #0000ff;">new</span> mcpserver -n MyMcpServer</pre></td></tr></table></code><hr />
</div><br />
<br />
<br />
Une fois créé, publiez votre serveur MCP sur NuGet pour faciliter son utilisation au sein de votre organisation ou de la communauté .NET au sens large. Le SDK C# MCP fait l'objet de mises à jour régulières afin d'implémenter les dernières mises à jour du protocole, garantissant ainsi la compatibilité avec l'écosystème MCP en pleine expansion.<br />
<br />
<b>MCP permet aux agents IA :</b><br />
<br />
- d'accéder aux bases de données et aux API en toute sécurité ;<br />
- d'exécuter des commandes et des workflows ;<br />
- de lire et de modifier des fichiers ;<br />
- de s'intégrer aux systèmes d'entreprise ;<br />
- d'utiliser des outils et des services spécialisés.<br />
<br />
En standardisant la manière dont les agents IA interagissent avec les ressources externes, MCP facilite la création, le partage et la composition de capacités IA dans l'écosystème .NET.<br />
<br />
<br />
<b><font size="3">ASP.NET Core – Applications Web et API sécurisées et hautes performances</font></b><br />
<br />
ASP.NET Core dans .NET 10 comprend tout ce dont vous avez besoin pour créer des applications Web et des API sécurisées et hautes performances. Cette version met l'accent sur la sécurité, l'observabilité et les diagnostics, les performances et la productivité des développeurs, en fournissant des outils plus puissants pour créer des expériences Web modernes.<br />
<br />
Les principales améliorations de cette version sont les suivantes :<br />
<br />
- Expulsion automatique du pool de mémoire : dans les applications à exécution longue, les pools de mémoire peuvent parfois conserver de la mémoire qui n'est plus nécessaire. .NET 10 introduit l'expulsion automatique des pools de mémoire, ce qui permet de réduire l'empreinte mémoire de vos applications en libérant la mémoire inactive vers le système.<br />
<br />
- Prise en charge de l'authentification Web (clé d'accès) : ASP.NET Core Identity inclut désormais la prise en charge des clés d'accès, qui sont basées sur les normes WebAuthn et FIDO2. Cela vous permet de créer des expériences d'authentification plus sécurisées et sans mot de passe. Le modèle de projet Blazor Web App inclut une prise en charge prête à l'emploi de la gestion des clés d'accès et de la connexion.<br />
<br />
- Améliorations natives AOT : le modèle webapiaot inclut désormais la prise en charge OpenAPI par défaut, et grâce à une nouvelle validation compatible AOT, il est plus facile de créer des API documentées et compilées à l'avance. Vous pouvez désactiver cette fonctionnalité à l'aide du drapeau --no-openapi.<br />
<br />
<br />
<b><font size="3">Blazor – Développement web productif basé sur des composants</font></b><br />
<br />
Blazor continue d'évoluer en tant que framework productif pour la création d'interfaces utilisateur web basées sur des composants avec C#. .NET 10 apporte des améliorations significatives en termes de performances, de gestion de l'état et d'expérience globale des développeurs.<br />
<br />
<b>Persistance de l'état des composants :</b><br />
<br />
.NET 10 introduit des améliorations significatives dans la gestion de l'état de Blazor, le rendant plus robuste et plus facile à utiliser, en particulier dans les scénarios côté serveur.<br />
<br />
- Persistance déclarative de l'état : la persistance de l'état pendant le pré-rendu est désormais beaucoup plus simple. Utilisez l'attribut [PersistentState] pour marquer de manière déclarative l'état qui doit être conservé.<br />
<br />
- Persistance de l'état des circuits : les circuits Blazor sont désormais plus résistants aux interruptions réseau. L'état des composants est automatiquement conservé avant qu'un circuit ne soit évacué après une déconnexion prolongée, afin que les utilisateurs ne perdent pas leur travail.<br />
<br />
- Mise en pause et reprise des circuits : de nouvelles API permettant de « mettre en pause » et de « reprendre » les circuits améliorent l'évolutivité du serveur en libérant des ressources pour les clients inactifs.<br />
<br />
<b>Performances et fiabilité :</b><br />
<br />
- Scripts de framework optimisés : les scripts du framework Blazor sont désormais fournis sous forme d'actifs web statiques précompressés et identifiés par empreinte digitale, ce qui améliore les performances de chargement et garantit une mise en cache correcte.<br />
<br />
- Préchargement WebAssembly : afin d'améliorer les temps de chargement initiaux, les applications Web Blazor préchargent désormais automatiquement les ressources du framework à l'aide d'en-têtes <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">Link</span>. Les applications WebAssembly autonomes bénéficient également du téléchargement de ressources à haute priorité.<br />
<br />
- Diffusion en continu des réponses par défaut : les réponses <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">HttpClient</span> sont désormais diffusées en continu par défaut dans les applications WebAssembly Blazor, ce qui peut améliorer les performances et réduire l'utilisation de la mémoire lors du traitement de réponses volumineuses.<br />
<br />
<b>Formulaires et validation :</b><br />
<br />
- Amélioration de la validation des formulaires : les capacités de validation des formulaires de Blazor ont été considérablement améliorées. Vous pouvez désormais valider automatiquement les objets imbriqués et les éléments de collection à l'aide d'un nouveau système basé sur un générateur de source qui est performant et compatible avec AOT.<br />
<br />
- Nouveau composant InputHidden : un nouveau composant permettant de rendre les champs de formulaire masqués est désormais disponible.<br />
<br />
<b>Expérience développeur :</b><br />
<br />
- Tests automatisés du navigateur : WebApplicationFactory prend désormais en charge les tests de bout en bout avec des outils d'automatisation du navigateur tels que Playwright, ce qui facilite l'écriture de tests UI automatisés pour vos applications web.<br />
<br />
- Améliorations de l'interopérabilité JavaScript : l'interopérabilité avec JavaScript est désormais plus puissante. Vous pouvez créer des instances d'objets JavaScript, appeler leurs constructeurs et lire ou modifier directement leurs propriétés à l'aide d'API synchrones et asynchrones.<br />
<br />
- Amélioration du traitement des erreurs « Not Found » : Blazor offre une meilleure expérience pour le traitement des erreurs 404. Vous pouvez désormais spécifier une page « Not Found » dédiée dans le composant Router, et la nouvelle méthode NavigationManager.NotFound() facilite le déclenchement des réponses « Not Found » à partir du code pendant le rendu côté serveur ou le rendu interactif.<br />
<br />
- Améliorations de QuickGrid : le composant QuickGrid inclut désormais un paramètre RowClass, qui vous permet d'appliquer des classes CSS personnalisées aux lignes en fonction de leurs données. Vous pouvez également gérer explicitement le masquage de l'interface utilisateur des options de colonne.<br />
<br />
<br />
<b><font size="3">Créez des API rapides et modernes</font></b><br />
<br />
ASP.NET Core est un excellent choix pour créer des API rapides et modernes. .NET 10 offre une meilleure conformité aux normes, une validation plus puissante et une expérience développeur améliorée.<br />
<br />
<b>Améliorations OpenAPI :</b><br />
<br />
- Prise en charge d'OpenAPI 3.1 par défaut : ASP.NET Core génère désormais des documents OpenAPI 3.1, qui incluent la prise en charge de la dernière version préliminaire du schéma JSON. Cela améliore la représentation des types, par exemple en utilisant un tableau pour les types nullables au lieu d'une propriété personnalisée.<br />
<br />
- Intégration des commentaires XML : le générateur de source OpenAPI utilise désormais automatiquement vos commentaires XML C# pour remplir les descriptions, les résumés et d'autres champs de documentation dans le document OpenAPI généré.<br />
<br />
- Documents OpenAPI YAML : vous pouvez désormais fournir des documents OpenAPI au format YAML, qui offre une alternative plus lisible que JSON.<br />
<br />
- Descriptions de réponse améliorées : l'attribut <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">ProducesResponseType</span> inclut désormais un paramètre Description facultatif, qui vous permet de fournir plus de contexte pour les réponses de votre API.<br />
<br />
<b>Améliorations des API minimales :</b><br />
<br />
- Validation intégrée : Vous pouvez désormais activer la validation automatique des paramètres de requête, d'en-tête et de corps de requête en appelant <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">AddValidation<span class="br0">&#40;</span><span class="br0">&#41;</span></span>. Si la validation échoue, le framework renvoie automatiquement une réponse 400 Bad Request avec les détails de la validation. Cela fonctionne avec DataAnnotations et prend en charge les objets et collections imbriqués.<br />
<br />
- Événements envoyés par le serveur (SSE) : une nouvelle méthode <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">TypedResults.ServerSentEvents<span class="br0">&#40;</span><span class="br0">&#41;</span></span> facilite la diffusion en continu des mises à jour en temps réel aux clients via une seule connexion HTTP.<br />
<br />
- Réponses d'erreur personnalisables : vous pouvez désormais intégrer votre logique de validation à <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">IProblemDetailsService</span> pour créer des réponses d'erreur cohérentes et personnalisées.<br />
<br />
<br />
<b><font size="3">Observabilité et diagnostics améliorés</font></b><br />
<br />
.NET 10 apporte des améliorations significatives en matière d'observabilité et de diagnostics, facilitant ainsi la surveillance et le dépannage de vos applications ASP.NET Core.<br />
<br />
- Nouvelles métriques intégrées : ASP.NET Core inclut désormais un ensemble complet de nouvelles métriques pour surveiller les composants clés, notamment Blazor, l'authentification et l'autorisation, l'identité et le nouveau pool de mémoire.<br />
<br />
- Amélioration du traçage Blazor : le traçage Blazor Server a été amélioré afin de fournir des informations plus détaillées sur l'activité du circuit, ce qui facilite le diagnostic des problèmes en temps réel.<br />
<br />
- Outils de diagnostic Blazor WebAssembly : de nouveaux outils de diagnostic sont disponibles pour les applications Blazor WebAssembly, vous permettant de collecter des profils de performances CPU, de capturer des vidages de mémoire et de recueillir des métriques d'exécution.<br />
<br />
<br />
<b><font size="3">.NET MAUI – Créer des applications natives multiplateformes</font></b><br />
<br />
.NET MAUI est le meilleur moyen de créer des applications natives multiplateformes pour iOS, Android, macOS et Windows avec .NET et C#.<br />
<br />
<b>Mises à jour de la plateforme :</b><br />
<br />
- Liaisons Android 16 (API 36 et 36.1) avec les dernières fonctionnalités de la plateforme<br />
<br />
- Liaisons iOS 26.0 pour les dernières fonctionnalités iOS<br />
<br />
- Méthodes Marshal activées : performances de démarrage améliorées par défaut<br />
<br />
<b>Améliorations des contrôles :</b><br />
<br />
- HybridWebView : nouveaux événements d'initialisation (<span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">WebViewInitializing</span>, <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">WebViewInitialized</span>) pour la personnalisation spécifique à la plateforme, surcharge <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">InvokeJavaScriptAsync</span> et gestion des exceptions JavaScript<br />
<br />
- Interception des requêtes Web : modification des en-têtes, redirection des requêtes ou fourniture de réponses locales pour <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">BlazorWebView</span> et <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">HybridWebView</span>- CollectionView/CarouselView : gestionnaires iOS améliorés désormais par défaut<br />
<br />
- MediaPicker : gestion EXIF automatique, sélection de plusieurs fichiers avec <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">PickMultipleAsync</span>, prise en charge de la compression d'images<br />
<br />
- Gestion SafeArea : améliorée pour prendre en charge plusieurs plateformes à partir de la nouvelle API <i>SafeAreaEdges</i><br />
<br />
- Éléments de la barre d'outils secondaire : ajoutés pour iOS et macOS<br />
<br />
<b>Améliorations XAML :</b><br />
<br />
.NET MAUI dans .NET 10 introduit des améliorations XAML significatives qui rationalisent le développement et améliorent les performances :<br />
<br />
- Espaces de noms XML globaux et implicites (optionnels) : simplifiez le balisage XAML en éliminant les déclarations d'espaces de noms répétitives.<br />
<br />
- Nouveau générateur de source XAML : temps de compilation plus rapides et meilleure prise en charge d'IntelliSense grâce au traitement XAML au moment de la compilation.<br />
<br />
Avec les espaces de noms globaux, vous pouvez déclarer les références <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">xmlns</span> une seule fois dans un fichier <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">GlobalXmlns.cs</span> et utiliser des types sans préfixes dans tous vos fichiers XAML :<br />
<br />
Avant :<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br /></div></td><td valign="top"><pre style="margin: 0">&lt;ContentPage xmlns=<span style="color: #FF0000;">&quot;http://schemas.microsoft.com/dotnet/2021/maui&quot;</span>
        xmlns:x=<span style="color: #FF0000;">&quot;http://schemas.microsoft.com/winfx/2009/xaml&quot;</span>
        xmlns:models=<span style="color: #FF0000;">&quot;clr-namespace:MyApp.Models&quot;</span>
        xmlns:controls=<span style="color: #FF0000;">&quot;clr-namespace:MyApp.Controls&quot;</span>
        x:Class=<span style="color: #FF0000;">&quot;MyApp.MainPage&quot;</span>&gt;
    &lt;controls:TagView x:DataType=<span style="color: #FF0000;">&quot;models:Tag&quot;</span> /&gt;
&lt;/ContentPage&gt;</pre></td></tr></table></code><hr />
</div><br />
<br />
<br />
Après :<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br /></div></td><td valign="top"><pre style="margin: 0">&lt;ContentPage x:Class=<span style="color: #FF0000;">&quot;MyApp.MainPage&quot;</span>&gt;
    &lt;TagView x:DataType=<span style="color: #FF0000;">&quot;Tag&quot;</span> /&gt;
&lt;/ContentPage&gt;</pre></td></tr></table></code><hr />
</div><br />
<br />
<br />
Il n'est pas nécessaire de déclarer <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">xmlns:models</span> ou <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">xmlns:controls</span>, car ils sont déclarés globalement dans un fichier <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">GlobalXmlns.cs</span>. Aucun préfixe n'est requis pour <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">TagView</span> ou <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">Tag</span>.<br />
<br />
<b>Exemple de sélection de plusieurs fichiers dans MediaPicker :</b><br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #0000ff;">var</span> result = <span style="color: #0000ff;">await</span> MediaPicker.PickMultipleAsync<span class="br0">&#40;</span><span style="color: #0000ff;">new</span> MediaPickerOptions
<span class="br0">&#123;</span>
    MaximumWidth = <span style="color: #cc66cc;">1024</span>,
    MaximumHeight = <span style="color: #cc66cc;">768</span>
<span class="br0">&#125;</span><span class="br0">&#41;</span>;</pre></td></tr></table></code><hr />
</div><br />
<br />
<br />
<b>Autres points forts :</b><br />
<br />
- Intégration Aspire : nouveau modèle de projet avec télémétrie et découverte de services<br />
<br />
- Diagnostics : surveillance complète des performances de mise en page avec <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">ActivitySource</span> et des métriques<br />
<br />
- Priorité à la qualité : améliorations continues en matière de fiabilité et de performances.<br />
<br />
<br />
<b><font size="3">Entity Framework Core 10 – Accès avancé aux données</font></b><br />
<br />
Entity Framework Core 10 apporte des améliorations puissantes en matière d'accès aux données, notamment la recherche vectorielle compatible avec l'IA, une prise en charge JSON améliorée et une meilleure gestion des types complexes.<br />
<br />
<b>Azure SQL et SQL Server :</b><br />
<br />
- Prise en charge de la recherche vectorielle : prise en charge complète du nouveau type de données <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">vector</span> et de la fonction <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">VECTOR_DISTANCE<span class="br0">&#40;</span><span class="br0">&#41;</span></span>, permettant des charges de travail IA telles que la recherche sémantique et RAG avec SQL Server 2025 et Azure SQL Database<br />
<br />
- Type de données JSON : utilisation automatique du type <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">json</span> natif de SQL Server 2025 pour de meilleures performances et une requête sécurisée avec prise en charge complète de LINQ à l'aide des clauses <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">JSON_VALUE<span class="br0">&#40;</span><span class="br0">&#41;</span></span> et <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">RETURNING</span>- Noms de contraintes par défaut personnalisés : spécifiez des noms pour les contraintes par défaut ou activez la dénomination automatique pour toutes les contraintes.<br />
<br />
<b>Azure Cosmos DB :</b><br />
<br />
- Recherche en texte intégral : effectuez des recherches textuelles efficaces avec un score de pertinence à l'aide des fonctions <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">FullTextContains</span>, <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">FullTextContainsAll</span>, <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">FullTextContainsAny</span> et <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">FullTextScore</span>.<br />
<br />
- Recherche hybride : combinez la similarité vectorielle et la recherche en texte intégral avec la fonction <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">RRF</span> (Reciprocal Rank Fusion) pour améliorer la précision de la recherche IA.<br />
<br />
- Recherche vectorielle GA : la recherche par similarité vectorielle est désormais prête pour la production grâce à des API de création de modèles améliorées et à la prise en charge des entités de référence détenues.<br />
<br />
<b>Types complexes et JSON :</b><br />
<br />
Les types complexes offrent des avantages en matière de modélisation de documents, avec de meilleures performances et des schémas plus simples :<br />
<br />
- Types complexes facultatifs : marquez les types complexes comme pouvant être nuls pour des modèles de données plus flexibles.<br />
<br />
- Mappage JSON : mappez les types complexes à des colonnes JSON uniques avec une prise en charge complète des requêtes LINQ et des mises à jour en masse efficaces via <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">ExecuteUpdate</span>.<br />
<br />
- Prise en charge des structures : Utilisez des structures .NET au lieu de classes pour les types complexes avec une sémantique de valeur appropriée.<br />
<br />
- ExecuteUpdate pour JSON : mettez à jour en masse les propriétés des colonnes JSON de manière efficace, sans charger l'intégralité des documents.<br />
<br />
<div class="bbcode_container">
	<div class="bbcode_description">Code:</div>
	<hr /><code class="bbcode_code"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #808080;">// Update Views count in JSON column</span>
<span style="color: #0000ff;">await</span> context.Blogs.ExecuteUpdateAsync<span class="br0">&#40;</span>s =&gt;
    s.SetProperty<span class="br0">&#40;</span>b =&gt; b.Details.Views, b =&gt; b.Details.Views + <span style="color: #cc66cc;">1</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;</pre></td></tr></table></code><hr />
</div><br />
<br />
<br />
<b>Améliorations LINQ et Query :</b><br />
<br />
- Meilleures collections paramétrées : la nouvelle traduction par défaut envoie chaque valeur en tant que paramètre distinct avec un remplissage afin d'optimiser la mise en cache du plan de requête tout en conservant les informations de cardinalité.<br />
<br />
- Prise en charge de LeftJoin et RightJoin : prise en charge de premier ordre des nouveaux opérateurs de jointure LINQ de .NET 10 pour des requêtes de jointure externe plus simples.<br />
<br />
- Ordre cohérent des requêtes fractionnées : correction des problèmes de cohérence des données dans les requêtes fractionnées avec un ordre approprié dans toutes les instructions SQL.<br />
<br />
<b>Autres points forts :</b><br />
<br />
- Filtres de requête nommés : définissez plusieurs filtres de requête par type d'entité et désactivez de manière sélective des filtres spécifiques dans les requêtes.<br />
<br />
- ExecuteUpdate avec des lambdas réguliers : créez des opérations de mise à jour dynamiques sans code d'arbre d'expression complexe.<br />
<br />
- Améliorations de la sécurité : les constantes en ligne sont désormais supprimées des journaux par défaut, avec des avertissements de l'analyseur pour la concaténation de chaînes dans les API SQL brutes.<br />
<br />
<br />
<b><font size="3">Développement Windows – Applications de bureau modernes</font></b><br />
<br />
.NET 10 continue d'améliorer le développement d'applications Windows dans WinUI 3, WPF et WinForms.<br />
<br />
<b>Points forts :</b><br />
<br />
- Windows Forms : amélioration de la gestion du presse-papiers, portage des <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">UITypeEditors</span> depuis .NET Framework pour une meilleure prise en charge de la migration.<br />
<br />
- WPF : améliorations des performances, mises à jour du style Fluent, améliorations de la qualité.<br />
<br />
- WinUI 3 : dernières fonctionnalités et améliorations du SDK Windows App.<br />
<br />
<br />
<b><font size="3">Outils de développement – Votre environnement le plus productif à ce jour</font></b><br />
<br />
.NET 10 et Visual Studio 2026 offrent une plateforme de développement intelligente de classe mondiale qui vous rend plus productif tout au long de votre workflow.<br />
<br />
<b><font size="3">Visual Studio 2026 – Performances améliorées et développement basé sur l'IA</font></b><br />
<br />
Visual Studio 2026 offre une productivité révolutionnaire grâce à l'IA profondément intégrée à votre flux de travail de développement. Les notes de publication de Visual Studio 2026 détaillent les dernières fonctionnalités.<br />
<br />
<b>Développement basé sur l'IA :</b><br />
<br />
- Collage adaptatif : Copilot adapte le code collé au contexte de votre fichier, en corrigeant automatiquement les noms, le formatage et en traduisant entre les langages (par exemple, de C++ vers C#).<br />
<br />
- Profiler Copilot Agent : assistant IA qui analyse l'utilisation du processeur, les allocations de mémoire, suggère des optimisations et génère des benchmarks BenchmarkDotNet.<br />
<br />
- Debugger Agent pour les tests unitaires : débogue automatiquement les tests qui échouent, formule des hypothèses, applique des corrections et valide les solutions de manière itérative.<br />
<br />
- Actions de code à portée de main : le menu contextuel accessible par un clic droit fournit une assistance Copilot instantanée pour les tâches courantes (expliquer, optimiser, générer des tests, etc.).<br />
<br />
- Contexte URL Copilot : consultez la documentation Web directement dans Copilot Chat pour obtenir des réponses plus précises.<br />
<br />
<b>Améliorations de la productivité :</b><br />
<br />
- Rendu des graphiques Mermaid : visualisez des organigrammes et des diagrammes directement dans l'éditeur Markdown et les réponses de Copilot Chat.<br />
<br />
- Contrôles améliorés de l'éditeur : fonctionnalités avancées de marge pour optimiser votre expérience d'édition.<br />
<br />
- Exclusions de fichiers dans la recherche : meilleur contrôle des fichiers inclus dans les résultats de recherche.<br />
<br />
- Couverture de code pour toutes les éditions : couverture de code dynamique désormais disponible dans l'édition Professional, avec les lignes testées mises en évidence directement dans l'éditeur.<br />
<br />
<b>Débogage et diagnostics :</b><br />
<br />
- Évaluation en ligne des instructions if : déboguez plus rapidement la logique conditionnelle grâce aux valeurs en ligne et aux informations Copilot.<br />
<br />
- Modèle de projet BenchmarkDotNet : lancez rapidement l'évaluation des performances grâce au profilage CPU intégré et aux informations Copilot.<br />
<br />
- CodeLens avec optimisation des allocations : directement depuis votre éditeur, demandez à Copilot d'optimiser les méthodes gourmandes en mémoire.<br />
<br />
- Résumé des threads Profiler Agent : résumés de conversation intelligents qui conservent le contexte lorsque les limites de jetons sont approchées.<br />
<br />
- Diagnostics CMake : prise en charge complète de l'utilisation du CPU, de l'affichage des événements, de l'utilisation de la mémoire et des outils d'E/S de fichiers dans les projets CMake.<br />
<br />
<b>Expérience moderne :</b><br />
<br />
- Nouvelle apparence : système de conception Fluent UI avec 11 nouveaux thèmes colorés et des paramètres d'apparence de l'éditeur indépendants.<br />
<br />
- Expérience de configuration moderne : interface de configuration simplifiée et conviviale remplaçant Outils &gt; Options avec une meilleure organisation et une plus grande fiabilité.<br />
<br />
- Prise en charge SLNX : travaillez avec le nouveau format de solution simplifié pour un contrôle de version plus clair avec la documentation SLNX.<br />
<br />
- Améliorations des performances : démarrage plus rapide, meilleure gestion de la mémoire et réactivité globale améliorée.<br />
<br />
- Intégration d'Aspire : prise en charge transparente des projets Aspire avec des outils et des modèles spécialisés.<br />
<br />
<div style="text-align: center;">
<div class="video-container"><iframe class="restrain" title="YouTube video player" width="560" height="315" allowfullscreen src="//www.youtube.com/embed/YDhJ953D6-U?wmode=transparent&amp;fs=1" frameborder="0"></iframe></div>
</div><br />
<b><font size="3">GitHub Copilot – Votre programmeur IA associé</font></b><br />
<br />
GitHub Copilot est intégré à Visual Studio et VS Code, facilitant l'écriture, le test et le débogage du code :<br />
<br />
- Complétions IA pour C# : meilleur contexte à partir de fichiers pertinents.<br />
<br />
- Correction des problèmes de code : résolution des problèmes assistée par l'IA.<br />
<br />
- Tests de débogage : obtenez de l'aide pour le débogage des tests ayant échoué.<br />
<br />
- Visualiseur IEnumerable : expressions LINQ alimentées par l'IA<br />
<br />
- Modernisation vers .NET 10 : utilisez GitHub Copilot pour vous aider à mettre à niveau et à moderniser vos applications .NET existantes vers .NET 10, en obtenant des conseils sur les changements majeurs, les nouvelles API et les meilleures pratiques<br />
<br />
<br />
<b><font size="3">Kit de développement C# pour Visual Studio Code</font></b><br />
<br />
Le kit de développement C# apporte une expérience de développement C# puissante et rationalisée à Visual Studio Code. Les mises à jour récentes incluent :<br />
<br />
- Mode espace de travail sans solution : travaillez sans création automatique de fichiers de solution pour des projets plus simples<br />
<br />
- Prise en charge SLNX : prise en charge complète du nouveau format de solution basé sur XML avec des outils améliorés<br />
<br />
- Édition Razor améliorée : IntelliSense, formatage et navigation dans le code améliorés dans Blazor et Razor Pages<br />
<br />
- Couverture de test intégrée : prise en charge native de l'interface utilisateur de couverture de code de VS Code avec des indicateurs visuels dans l'éditeur<br />
<br />
- Modèles de projet personnalisés : créez des projets à partir de nouveaux modèles dotnet tiers et personnalisés directement dans VS Code<br />
<br />
- Gestion des packages NuGet : ajoutez, mettez à jour et supprimez des packages à l'aide de commandes intégrées.<br />
<br />
- Gestion des fichiers par glisser-déposer : réorganisez facilement vos projets dans l'Explorateur de solutions.<br />
<br />
- Prise en charge d'Aspire : exécutez et déboguez des projets Aspire avec une prise en charge complète de l'orchestration.<br />
<br />
<br />
<b><font size="3">SDK .NET – Améliorations puissantes de l'interface CLI</font></b><br />
<br />
Le SDK .NET 10 inclut des améliorations puissantes de l'interface CLI :<br />
<br />
- Prise en charge de Microsoft.Testing.Platform dans <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">dotnet test</span> pour une exécution de test unifiée.<br />
<br />
- Scripts de complétion par tabulation natifs pour les shells courants (bash, fish, PowerShell, zsh, nushell).<br />
<br />
- Images de conteneur pour les applications console sans nécessiter de fichiers Docker ou <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">EnableSdkContainerSupport</span>.<br />
<br />
- Exécution d'outils en une seule fois avec <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">dotnet tool exec</span> et le nouveau script <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">dnx</span>.<br />
<br />
- Introspection CLI avec <span style="font-family: monospace; padding: 2px; background: #ddd; display: inline-block">--cli-schema</span> pour les descriptions de commandes lisibles par machine.<br />
<br />
- Outils .NET spécifiques à la plateforme prenant en charge plusieurs RuntimeIdentifiers avec des options autonomes, réduites et AOT.<br />
<br />
- Applications basées sur des fichiers améliorées avec prise en charge de la publication et de l'AOT natif.<br />
<br />
- Format de solution SLNX : fichiers de solution simplifiés, basés sur XML, lisibles par l'utilisateur et plus faciles à gérer.<br />
<br />
<br />
<b><font size="3">NuGet – Sécurité et productivité améliorées</font></b><br />
<br />
NuGet continue d'évoluer avec des améliorations en matière de sécurité et de productivité :<br />
<br />
- Sécurité renforcée : audit des dépendances transitives par défaut pour les projets .NET 10, intégration avec la base de données consultative GitHub et prise en charge de Dependabot pour les mises à jour de sécurité automatiques.<br />
<br />
- Prise en charge MCP : publication et utilisation des serveurs MCP via NuGet.<br />
<br />
- Nouveau NuGet.org : nouveau design avec mode sombre.<br />
<br />
- Correction des vulnérabilités : la commande dotnet package update --vulnerable met à jour les packages vulnérables vers la première version sécurisée.<br />
<br />
<div style="text-align: center;">
<div class="video-container"><iframe class="restrain" title="YouTube video player" width="560" height="315" allowfullscreen src="//www.youtube.com/embed/tT_i1qAkTFA?wmode=transparent&amp;fs=1" frameborder="0"></iframe></div>
</div><br />
<b><font size="3">Support à long terme pour .NET 10</font></b><br />
<br />
.NET 10 est une version à support à long terme (LTS) qui sera prise en charge pendant trois ans, jusqu'au 10 novembre 2028. Les versions LTS bénéficient de mises à jour critiques et de correctifs de sécurité, ce qui fait de .NET 10 la version recommandée pour les applications de production qui nécessitent stabilité et support étendu.<br />
<br />
<div style="text-align: center;"><img src="https://www.developpez.net/forums/attachments/p671706d1762963589/dotnet/general-dotnet/framework-net/microsoft-annonce-net-10-version-support-long-terme-lts/2.jpg/" border="0" alt="Nom : 2.jpg
Affichages : 3127
Taille : 30,9 Ko"  style="float: CONFIG" /></div><br />
.NET suit un rythme de publication annuel prévisible, avec des versions LTS paires (support de 3 ans) et des versions STS (support standard) impaires (support de 24 mois). Avec la récente extension de la prise en charge STS de 18 à 24 mois, .NET 9 et .NET 8 arriveront tous deux à la fin de leur prise en charge le 10 novembre 2026. .NET 10, en tant que version LTS, continuera d'être pris en charge jusqu'au 10 novembre 2028.<br />
<br />
<b>Source</b> : <a rel="nofollow" href="https://devblogs.microsoft.com/dotnet/announcing-dotnet-10/" target="_blank">Annonce de .NET 10</a><br />
<br />
<b>Et vous ?</b><br />
<br />
:fleche: Pensez-vous que cette annonce est crédible ou pertinente ?<br />
:fleche: Quel est votre avis sur le sujet ?<br />
<br />
<b>Voir aussi :</b><br />
<br />
:fleche: <a href="https://dotnet.developpez.com/actu/369679/Microsoft-publie-NET-10-Preview-1-cette-preversion-donne-un-apercu-de-C-14-et-met-l-accent-sur-des-ameliorations-de-performance-des-optimisations-des-bibliotheques-et-une-experience-developpeur-enrichie/" target="_blank">Microsoft publie .NET 10 Preview 1 : cette préversion donne un aperçu de C# 14 et met l'accent sur des améliorations de performance, des optimisations des bibliothèques et une expérience développeur enrichie</a><br />
<br />
:fleche: <a href="https://dotnet.developpez.com/actu/372078/Microsoft-presente-les-nouvelles-fonctionnalites-du-langage-de-programmation-de-C-14-membres-d-extension-affectation-par-condition-nulle-proprietes-field-stockees/" target="_blank">Microsoft présente les nouvelles fonctionnalités du langage de programmation de C# 14 : Membres d'extension, affectation par condition nulle, propriétés field stockées</a><br />
<br />
:fleche: <a href="https://visualstudio.developpez.com/actu/377594/Microsot-annonce-que-Visual-Studio-2026-est-disponible-l-EDI-apporte-des-ameliorations-en-termes-de-performances-une-experience-utilisateur-repensee-et-une-avancee-dans-le-developpement-base-sur-l-IA/" target="_blank">Microsot annonce que Visual Studio 2026 est disponible : l'EDI apporte des améliorations en termes de performances, une expérience utilisateur repensée et une avancée dans le développement basé sur l'IA</a></div>


	<div style="padding:10px">

	

	
		<fieldset class="fieldset">
			<legend>Images attachées</legend>
				<div style="padding:10px">
				<img class="attach" src="https://www.developpez.net/forums/attachments/p671705d1762963578/dotnet/general-dotnet/framework-net/microsoft-annonce-net-10-version-support-long-terme-lts/1.jpg/" alt="" />&nbsp;<img class="attach" src="https://www.developpez.net/forums/attachments/p671706d1762963589/dotnet/general-dotnet/framework-net/microsoft-annonce-net-10-version-support-long-terme-lts/2.jpg/" alt="" />&nbsp;<img class="attach" src="https://www.developpez.net/forums/attachments/p671713d1762971485/dotnet/general-dotnet/framework-net/microsoft-annonce-net-10-version-support-long-terme-lts/1.jpg/" alt="" />&nbsp;
			</div>
		</fieldset>
	

	

	

	</div>
]]></content:encoded>
			<category domain="https://www.developpez.net/forums/f268/dotnet/general-dotnet/framework-net/">Framework .NET</category>
			<dc:creator>Jade Emy</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/d2180426/dotnet/general-dotnet/framework-net/microsoft-annonce-net-10-version-support-long-terme-lts/</guid>
		</item>
	</channel>
</rss>
