WindowsAzure.Storage .NET Standard 中的 SDK 缺少 API

WindowsAzure.Storage SDK missing APIs in .NET Standard

我正在将 .NET Framework 4.7.1 class 库转换为 .NET Standard 2.0。

库使用了许多 Nuget 包,所有这些包都可用于 .NET Framework 和 .NET Standard,这些包包括 WindowsAzure.Storage SDK。

原始 .NET Framework class 库可以正确编译和运行,但 .NET Standard 库无法编译,因为 WindowsAzure.Storage SDK 上缺少 API(和一些不同的方法签名) .

例如,CloudBlockBlob 在 .NET Framework 中有一个 DeleteIfExists 方法,但在 .NET Standard 中没有。

API documentation 列出了此方法(以及 .NET Standard 中损坏的所有其他方法),但似乎没有提及目标框架之间的任何版本差异。我是不是漏掉了一些相关的东西?

某些 .NET Standard Nuget 包的 API 存在漏洞是否正常?

是否有针对此问题的解决方案或变通方法(除了重写使用这些 API 的代码)?

提前致谢。

正如 Peter Bons 提到的,在 nuget 包 WindowsAzure.Storage 中,只有基于任务的方法,因此 DeleteIfExistsAsync 用于 .net 核心/.net 标准。

请使用新的 nuget 包进行 azure 存储。对于 blob 存储,您可以安装 Microsoft.Azure.Storage.Blob,版本 9.4.0 或更高版本,它支持同步/异步方法。

更改日志是here:

这里是使用安装了 Microsoft.Azure.Storage.Blob9.4.0 或更高版本的 .net 标准项目进行的简单测试。同步/异步方法都有。