Azure Blob存储“;“未找到方法”;用C#
在azure存储容器上应用方法Azure Blob存储“;“未找到方法”;用C#,c#,visual-studio,azure,azure-storage,C#,Visual Studio,Azure,Azure Storage,在azure存储容器上应用方法GetBlockBlobReference()时出现以下错误。我可以使用Microsoft.WindowsAzure.StorageNuGet获取此容器,当我导航到此NuGet时,我还可以看到所有方法,但在编译时找不到一些方法 System.Private.CoreLib:执行函数时发生异常: 丰富的功能。GoogleAnalytics:未找到方法:“Void” Microsoft.WindowsAzure.Storage.Blob.CloudBlockBlob.U
GetBlockBlobReference()
时出现以下错误。我可以使用Microsoft.WindowsAzure.Storage
NuGet获取此容器,当我导航到此NuGet时,我还可以看到所有方法,但在编译时找不到一些方法
System.Private.CoreLib:执行函数时发生异常:
丰富的功能。GoogleAnalytics:未找到方法:“Void”
Microsoft.WindowsAzure.Storage.Blob.CloudBlockBlob.UploadFromStream(System.IO.Stream,
Microsoft.WindowsAzure.Storage.AccessCondition,
Microsoft.WindowsAzure.Storage.Blob.BlobRequestOptions,
Microsoft.WindowsAzure.Storage.OperationContext)'
在互联网上,每个人都说要“降级”Azure Storage Nuget版本,但不起作用。我试过5、6、7甚至9版Im使用.NET Framework 4.7作为类库,由版本2上的函数项目调用。
一些代码(同样,我可以检索容器):
我们在其他项目(其他版本的.NET)上以同样的方式使用Azure Blob存储,并且工作正常
谢谢请安装最新的blob storage nuget软件包: 在类库和azure函数上安装它 我用.NET4.7类库和azure函数v2进行了测试,可以正常工作
原因是,
WindowsAzure.Storage
NuGet 9.3版或更低版本for.net core只支持异步方法,因此对于函数v2(即.net core),没有定义UploadFromStream()
。但在Microsoft.Azure.Storage.Blob 10.0.3版中,它确实支持.net核心项目的异步和非异步方法。如果答案对您有效,请帮助将其标记为答案,谢谢。
public void UploadFile( CloudBlobContainer container )
{
var filePathOnServer = Path.Combine("C:/temp/test/c.csv");
using (var fileStream = File.OpenRead(filePathOnServer))
{
var filename = "c.csv"; // Trim fully pathed filename to just the filename
var blockBlob = container.GetBlockBlobReference(filename);
blockBlob.UploadFromStream(fileStream);
}
}