Microsoft.Azure.Storage和WindowsAzure.Storage Nuget软件包之间有什么区别?

时间:2018-11-08 19:36:47

标签: azure azure-storage

我一直觉得这很令人困惑。 Microsoft提供了一个WindowsAzure.Storage Nuget程序包,该程序包使您可以使用例如博客存储(创建Blob等)。还有Microsoft.Azure.Storage。*软件包也可以完成相同的任务,也由Microsoft创作。如果您的项目碰巧同时依赖于两者,则可能会出现命名冲突,例如(“ Microsoft.Azure.Storage.Common”和“ Microsoft.WindowsAzure.Storage”中都存在“ CloudStorageAccount”类型。)

以下是这两种选择的链接:

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

有什么区别?什么时候我会被激励使用一个?

2 个答案:

答案 0 :(得分:20)

现在有三个级别:

  1. WindowsAzure.Storage-最高至v9.3.3-不再使用此功能。
  2. Microsoft.Azure.Storage-v9.4.0至v11.1.7-较旧
  3. Azure.Storage-v12.x-使用此库。

所有Azure库都被合并到Azure命名空间中,因此较新的库都以Azure开头(而不是Microsoft.AzureWindowsAzure),您应该使用那些如果有的话。

答案 1 :(得分:9)

WindowsAzure.Storage(最新版本为v9.3.2)是我们一直使用的旧版存储SDK,而Microsoft.Azure.Storage.*(最新版本v9.4.0)是其新版本,nuget可用大约一年。

检查Storage .NET SDK的changelog。列出这些重要差异/更改的一部分。

  1. Microsoft.Azure.Storage将库分为Blob,Queue和File三个部分,这意味着我们可以安装单独的软件包而不是完整版本。

  2. Microsoft.Azure.Storage不支持Table API,它已转移到Microsoft.Azure.CosmosDB.Table,目前仅适用于.NET Framework。

  3. Microsoft.Azure.Storage从9.4.0-preview开始增加了对NetStandard2.0目标的支持,该支持支持封装在异步API上的同步方法。 NetStandard上的WindowsAzure.Storage仅具有异步API。

  4. Microsoft.Azure.Storage v9.4软件包暂时移回使用Microsoft.WindowsAzure.Storage名称空间,以简化现有库的过渡。

只需根据我们的要求进行选择。