我一直觉得这很令人困惑。 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
有什么区别?什么时候我会被激励使用一个?
答案 0 :(得分:20)
现在有三个级别:
WindowsAzure.Storage
-最高至v9.3.3-不再使用此功能。Microsoft.Azure.Storage
-v9.4.0至v11.1.7-较旧Azure.Storage
-v12.x-使用此库。所有Azure库都被合并到Azure
命名空间中,因此较新的库都以Azure
开头(而不是Microsoft.Azure
或WindowsAzure
),您应该使用那些如果有的话。
答案 1 :(得分:9)
WindowsAzure.Storage
(最新版本为v9.3.2)是我们一直使用的旧版存储SDK,而Microsoft.Azure.Storage.*
(最新版本v9.4.0)是其新版本,nuget可用大约一年。
检查Storage .NET SDK的changelog。列出这些重要差异/更改的一部分。
Microsoft.Azure.Storage
将库分为Blob,Queue和File三个部分,这意味着我们可以安装单独的软件包而不是完整版本。
Microsoft.Azure.Storage
不支持Table API,它已转移到Microsoft.Azure.CosmosDB.Table,目前仅适用于.NET Framework。
Microsoft.Azure.Storage
从9.4.0-preview开始增加了对NetStandard2.0目标的支持,该支持支持封装在异步API上的同步方法。 NetStandard上的WindowsAzure.Storage
仅具有异步API。
Microsoft.Azure.Storage
v9.4软件包暂时移回使用Microsoft.WindowsAzure.Storage
名称空间,以简化现有库的过渡。
只需根据我们的要求进行选择。