What is the difference between the Microsoft.Azure.Storage and WindowsAzure.Storage Nuget packages?

WindowsAzure.Storage(latest is v9.3.2) is the legacy Storage SDK we always use and Microsoft.Azure.Storage.*(latest v9.4.0) is its new release, nuget available about one year.

Check the changelog of Storage .NET SDK. List part of those important differences/changes.

  1. Microsoft.Azure.Storage splits libraries to three parts, Blob, Queue and File, which means we can install separate package instead of the full edition.

  2. Microsoft.Azure.Storage doesn't support Table API, it is transferred to Microsoft.Azure.Cosmos.Table.

  3. Microsoft.Azure.Storage added NetStandard2.0 target support since 9.4.0-preview, which supports synchronous methods wrapped over the asynchronous APIs. WindowsAzure.Storage on NetStandard only has asynchronous APIs.

  4. Microsoft.Azure.Storage v9.4 package moves back to use Microsoft.WindowsAzure.Storage namespace temporarily to ease the transition for existing libraries.

Just make choices based on our requirement.


There are now three levels:

  1. WindowsAzure.Storage - up to v9.3.3 - don't use this anymore.
  2. Microsoft.Azure.Storage - v9.4.0 to v11.1.7 - older
  3. Azure.Storage - v12.x - use this library.

All the Azure libraries are being consolidated into the Azure namespace, so the newer libraries all start with Azure (not Microsoft.Azure or WindowsAzure) and you should use those when available.