Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
ASP.NET Core 11 transitivt tar in Microsoft.Data.SqlClient 7.x (upp från 5.x i .NET 10). Från och med Microsoft.Data.SqlClient 6.0 finns Microsoft Entra ID-autentiseringsprovidrar (tidigare Azure Active Directory) inte längre i huvudpaketet Microsoft.Data.SqlClient. De levereras i ett separat Microsoft.Data.SqlClient.Extensions.Azure-paket. Appar som använder ett Entra ID Authentication= värde i sina SQL-reťazec pripojenia måste lägga till en referens till det här paketet.
Version lanserad
.NET 11 Förhandsversion 3
Tidigare beteende
Tidigare innehöll paketet Microsoft.Data.SqlClient 5.x Entra ID-autentiseringsprovidrar. En anslutningssträng som Server=...;Database=...;Authentication=služba Active Directory Default fungerade direkt för alla ASP.NET Core-appar som indirekt tog in Microsoft.Data.SqlClient (till exempel via Microsoft.Extensions.Caching.SqlServer eller en SQL Server-provider för Entity Framework Core).
Nytt beteende
Från och med ASP.NET Core 11 är den transitiva Microsoft.Data.SqlClient versionen 7.x, som inte längre levererar Entra ID autentiseringsprovidrar. Om din reťazec pripojenia använder något av värdena služba Active Directory *Authentication= och du inte har lagt till Microsoft.Data.SqlClient.Extensions.Azure-paketet får du ett körningsfel som liknar:
Cannot find an authentication provider for 'ActiveDirectoryDefault'.
Install the 'Microsoft.Data.SqlClient.Extensions.Azure' NuGet package to use Active Directory (Entra ID) authentication methods.
Detta påverkar appar som använder Microsoft.Extensions.Caching.SqlServer (DistributedSqlServerCache), appar som använder SQL Server-providern EF Core och alla andra kodvägar som transitivt inkluderar Microsoft.Data.SqlClient och som använder Entra ID-autentisering.
Typ av brytande ändring
Den här ändringen är en beteendeförändring.
Orsak till ändring
Ändringen för att flytta Microsoft Entra ID autentisering från Microsoft.Data.SqlClient gjordes i den överordnade versionen Microsoft.Data.SqlClient 6.0. ASP.NET Core 11 fångar upp den ändringen genom att uppgradera versionen av SqlClient som den transitivt är beroende av. Mer information finns i dotnet/aspnetcore#66179.
Rekommenderad åtgärd
Om din app använder ett SQL-reťazec pripojenia med något služba Active Directory *Authentication=-värde lägger du till ett PackageReference till Microsoft.Data.SqlClient.Extensions.Azure:
<ItemGroup>
<PackageReference Include="Microsoft.Data.SqlClient.Extensions.Azure"
Version="1.0.0" />
</ItemGroup>
Projektmallarna ASP.NET Core "Enskilda konton" uppdaterades för att lägga till den här referensen för de Azure SQL konfigurationer som de stöder. Nya projekt kräver ingen manuell ändring.
Berörda API:er
None. Avbrottet är ett övergående körningskrav för installation av ett NuGet-paket. Inga typer i Microsoft.AspNetCore.* påverkas.
ASP.NET Core