【发布时间】:2019-07-10 15:20:56
【问题描述】:
我正在将 .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(和一些不同的方法签名)。
例如,CloudBlockBlob 在 .NET Framework 中有一个 DeleteIfExists 方法,但在 .NET Standard 中没有。
API documentation 列出了此方法(以及所有其他在 .NET Standard 中被破坏的方法),但似乎没有提及目标框架之间的任何版本差异。我在这里错过了一些相关的东西吗?
某些 .NET Standard Nuget 包的 API 存在漏洞是否正常?
是否有解决方案或变通方法(除了重写使用这些 API 的代码)?
谢谢,提前。
【问题讨论】:
-
您使用的是什么版本的 Storage SDK?
-
Afaik 只有基于任务的方法,所以 DeleteIfExistsAsync。
-
@GauravMantri:我在两个类库中都使用 v9.3.3。
-
@PeterBons:谢谢!是的,DeleteIfExistsAsync() 存在于 WindowsAzure.Storage 的 .NET Standard 版本中是对的,所以我想,我需要重新编写代码才能以异步方式正确使用这些 API。
标签: azure .net-4.0 azure-storage .net-standard