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

var*_*ian 14 azure azure-storage

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

这是两个选择的链接:

https://docs.microsoft.com/zh-cn/dotnet/api/overview/azure/storage?view=azure-dotnet

https://github.com/Azure/azure-storage-net/blob/master/README.md

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

Adr*_*all 27

现在分为三个层次:

  1. WindowsAzure.Storage - 直到 v9.3.3 - 不要再使用它了。
  2. Microsoft.Azure.Storage - v9.4.0 到 v11.1.7 - 较旧
  3. Azure.Storage - v12.x - 使用这个库。

所有 Azure 库都合并到Azure命名空间中,因此较新的库都以Azure(notMicrosoft.AzureWindowsAzure)开头,您应该在可用时使用它们。


Jer*_*Liu 22

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

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

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

  2. Microsoft.Azure.Storage不支持Table API,它已转移到Microsoft.Azure.Cosmos.Table

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

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

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

  • 我不理解Microsoft选择将旧的WindowsAzure.Storage名称空间保留在新的Microsoft.Azure.Storage库中的选择。现在我以命名空间冲突结束,因为我还引用了一个使用旧的WindowsAzure.Storage的第三方库。我正在尝试在.NET Core项目中设置一个“外部别名”,但是它不起作用。真是个地狱,如此愚蠢的选择微软 (5认同)
  • @JérômeMEVEL微软在版本10(发布于2019-04-09:https://www.nuget.org/packages/Microsoft.Azure.Storage.Blob/)中使用了Microsoft.Azure.Storage版本9中的旧命名空间。 10.0.0),名称空间已更改为“ Microsoft.Azure.Storage。*”。只要坚持使用10+版本,就可以了。 (2认同)