Azure: Microsoft-prefixed Azure integration packages removed

The following Microsoft.* packages that provide integration between ASP.NET Core and Azure SDKs aren't included in ASP.NET Core 5.0:

For discussion on this issue, see dotnet/aspnetcore#19570.

Version introduced

5.0 Preview 1

Old behavior

The Microsoft.* packages integrated Azure services with the Configuration and Data Protection APIs.

New behavior

New Azure.* packages integrate Azure services with the Configuration and Data Protection APIs.

Reason for change

The change was made because the Microsoft.* packages were:

  • Using outdated versions of the Azure SDK. Simple updates weren't possible because the new versions of the Azure SDK included breaking changes.
  • Tied to the .NET Core release schedule. Transferring ownership of the packages to the Azure SDK team enables package updates as the Azure SDK is updated.

In ASP.NET Core 2.1 or later projects, replace the old Microsoft.* with the new Azure.* packages.

Old New
Microsoft.AspNetCore.DataProtection.AzureKeyVault Azure.Extensions.AspNetCore.DataProtection.Keys
Microsoft.AspNetCore.DataProtection.AzureStorage Azure.Extensions.AspNetCore.DataProtection.Blobs
Microsoft.Extensions.Configuration.AzureKeyVault Azure.Extensions.AspNetCore.Configuration.Secrets

The new packages use a new version of the Azure SDK that includes breaking changes. The general usage patterns are unchanged. Some overloads and options may differ to adapt to changes in the underlying Azure SDK APIs.

The old packages will:

  • Be supported by the ASP.NET Core team for the lifetime of .NET Core 2.1 and 3.1.
  • Not be included in .NET 5.

When upgrading your project to .NET 5, transition to the Azure.* packages to maintain support.

Affected APIs