azure - WindowsAzure.Storage SDK 在 .NET Standard 中缺少 API
问题描述
我正在将 .NET Framework 4.7.1 类库转换为 .NET Standard 2.0。
该库使用许多 Nuget 包,所有这些包都可用于 .NET Framework 和 .NET Standard,并且这些包包括WindowsAzure.Storage
SDK。
原始 .NET Framework 类库可以正确编译和运行,但 .NET Standard 库无法编译,因为 WindowsAzure.Storage SDK 上缺少 API(和一些不同的方法签名)。
例如,在 .NET Framework 中CloudBlockBlob
有一个DeleteIfExists
方法,但在 .NET Standard 中没有。
API 文档列出了此方法(以及所有其他在 .NET Standard 中被破坏的方法),但似乎没有提及目标框架之间的任何版本差异。我在这里错过了一些相关的东西吗?
某些 .NET Standard Nuget 包的 API 存在差距是否正常?
是否有解决方案或解决方法(除了重写使用这些 API 的代码)?
提前致谢。
解决方案
正如 Peter Bons 提到的,在 nuget 包WindowsAzure.Storage
中,只有基于任务的方法,因此 DeleteIfExistsAsync 用于 .net core / .net 标准。
请使用新的 nuget 包进行 azure 存储。对于 blob 存储,您可以安装Microsoft.Azure.Storage.Blob版本 9.4.0 或更高版本,它支持同步/异步方法。
更改日志在这里:
这是一个安装了 Microsoft.Azure.Storage.Blob 9.4.0 或更高版本的 .net 标准项目的简单测试。同步/异步方法都在那里。
推荐阅读
- javascript - .prop() 函数不会更改元素的名称
- java - 使用 Jackson 解析一组非同质 JSON 对象
- python - Python OpenCV cap.read() 解压缩压缩帧?
- python - 用于数据减少的主成分分析 (PCA) 与额外树分类器
- python - 如何更改使用 conda -develop 导入的包的版本
- sql - 如何优化这个嵌套查询?
- sql - 添加 2 个单词来查询调用 insertIntoWPPOSTMETA
- dynamics-nav - 使用自动化变量 Dynamics 365 Business Central 时出错
- ios - NWListener 取消后如何重新启动?
- ios - 动画 UIView 从左侧而不是中心增长