Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
ASP.NET Core 11 inclut transitivement Microsoft.Data.SqlClient 7.x (contre 5.x dans .NET 10). À compter de Microsoft.Data.SqlClient 6.0, les fournisseurs d’authentification Microsoft Entra ID (anciennement Azure Active Directory) ne se trouvent plus dans le package principal Microsoft.Data.SqlClient ; ils sont expédiés dans un package Microsoft.Data.SqlClient.Extensions.Azure distinct. Les applications qui utilisent une valeur Entra ID Authentication= dans leur chaîne de connexion SQL doivent ajouter une référence à ce package.
Version introduite
.NET 11 Preview 3
Comportement antérieur
Auparavant, le package Microsoft.Data.SqlClient 5.x incluait les fournisseurs d’authentification Entra ID. Une chaîne de connexion telle que Server=...;Database=...;Authentication=Active Directory Default fonctionnait immédiatement pour toute application ASP.NET Core qui incluait transitivement Microsoft.Data.SqlClient (par exemple, via Microsoft.Extensions.Caching.SqlServer ou un fournisseur SQL Server pour Entity Framework Core).
Nouveau comportement
À compter de ASP.NET Core 11, la version transitive Microsoft.Data.SqlClient est 7.x, qui ne fournit plus les fournisseurs d’authentification Entra ID. Si votre chaîne de connexion utilise l'une des valeurs Active Directory *Authentication= et que vous n'avez pas ajouté le package Microsoft.Data.SqlClient.Extensions.Azure, vous obtenez une erreur d'exécution similaire à :
Cannot find an authentication provider for 'ActiveDirectoryDefault'.
Install the 'Microsoft.Data.SqlClient.Extensions.Azure' NuGet package to use Active Directory (Entra ID) authentication methods.
Cela affecte les applications qui utilisent Microsoft.Extensions.Caching.SqlServer (DistributedSqlServerCache), les applications qui utilisent le fournisseur SQL Server EF Core, ainsi que tout autre chemin de code qui inclut transitivement Microsoft.Data.SqlClient et utilise l’authentification Entra ID.
Type de changement cassant
Ce changement est un changement de comportement.
Raison de la modification
La modification permettant de déplacer l’authentification Microsoft Entra ID hors de Microsoft.Data.SqlClient a été effectuée dans la version en amont Microsoft.Data.SqlClient 6.0. ASP.NET Core 11 prend en compte ce changement en mettant à niveau la version de SqlClient dont il dépend transitivement. Pour plus d’informations, consultez dotnet/aspnetcore#66179.
Action recommandée
Si votre application utilise une chaîne de connexion SQL avec n’importe quelle valeur Active Directory *Authentication=, ajoutez un PackageReference à Microsoft.Data.SqlClient.Extensions.Azure :
<ItemGroup>
<PackageReference Include="Microsoft.Data.SqlClient.Extensions.Azure"
Version="1.0.0" />
</ItemGroup>
Les modèles de projet « Comptes individuels » ASP.NET Core ont été mis à jour pour ajouter cette référence aux configurations Azure SQL qu’ils prennent en charge. Les nouveaux projets ne nécessitent aucune modification manuelle.
API affectées
None. L’arrêt est une exigence d’exécution transitive pour installer un package NuGet. Aucun type dans Microsoft.AspNetCore.* n’est affecté.