I've always found this very confusing:
WindowsAzure.Storage
NuGet package authored by Microsoft which allows you to work with, for example, blob storage (creating blobs, etc.).Microsoft.Azure.Storage.*
packages which accomplish the same thing, also authored by Microsoft.If your project happens to have dependencies on both, you can have naming conflicts e.g. (The type 'CloudStorageAccount' exists in both 'Microsoft.Azure.Storage.Common, ... and 'Microsoft.WindowsAzure.Storage, ...).
Here are links to the two alternatives:
https://docs.microsoft.com/en-us/dotnet/api/overview/azure/storage?view=azure-dotnet
https://github.com/Azure/azure-storage-net/blob/master/README.md
What is the difference and when would I be motivated to use one over the other?
The Azure Storage platform is Microsoft's cloud storage solution for modern data storage scenarios. Azure Storage offers highly available, massively scalable, durable, and secure storage for a variety of data objects in the cloud.
What is the difference between blob and file storage? Azure Blob Storage is an object store used for storing vast amounts unstructured data, while Azure File Storage is a fully managed distributed file system based on the SMB protocol and looks like a typical hard drive once mounted.
So in Azure cloud storage and databases are 2 different things. Azure Databases include SQL Db, Maria Db, MySQL Db and Cosmos Db. However, remember databases store their db files into the storage system only. Normally a storage account in azure is used to store raw un-structure files.
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.
Microsoft.Azure.Storage
splits libraries to three parts, Blob, Queue and File, which means we can install separate package instead of the full edition.
Microsoft.Azure.Storage
doesn't support Table API, it is transferred to Microsoft.Azure.Cosmos.Table.
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.
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:
WindowsAzure.Storage
- up to v9.3.3 - don't use this anymore.Microsoft.Azure.Storage
- v9.4.0 to v11.1.7 - olderAzure.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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With