Azure函数-在Azure存储中找不到方法

eanckbw9  于 2023-10-22  发布在  其他
关注(0)|答案(2)|浏览(129)

我正在使用Azure表存储来保存数据。我想把这个方法创建为azure函数。当我在本地调试时,它工作正常。当我在azure函数中添加它时,我得到了异常错误
未找到方法:'布尔型Microsoft.WindowsAzure.CloudTable.SqlIfNotabursts。

CloudTableClient tableClient = cloudStorageAccount.CreateCloudTableClient();
            if (tableClient != null)
            {
                CloudTable table = tableClient.GetTableReference(reference);
                table.CreateIfNotExists();
                TableOperation insertOperation = TableOperation.Insert(entity);
                table.Execute(insertOperation);
                return true;
            }

和WindowsAzure.Storage包配置,

<package id="WindowsAzure.Storage" version="7.2.1" targetFramework="net461" />
ghhkc1vu

ghhkc1vu1#

将nuget更新到WindowsAzure.Storage 9.3.3 https://www.nuget.org/packages/WindowsAzure.Storage/,然后发布您的函数,它应该可以工作,确保在应用程序设置中配置连接字符串。

camsedfj

camsedfj2#

我刚刚遇到了这个问题(MissingMethodException来自WindowsAzure.Storage 9.3.3中的方法)。它是由我们的类库(使用WindowsAzure.Storage)触发的,目标是net462
我检查了WindowsAzure.Storage包,里面有net 45和netstandard1.3的版本。net 45 dll有接受CancellationTokens的方法(就像我做的那样),但是netstandard1.3 dll中的方法不接受这些CancellationTokens。
我仍然不知道我的类库(针对net462)是如何被针对net7.0的单元测试使用的-但解决方案很简单-我只是多目标我的库为两个net462;net7.0构建,然后立即找到中断的调用-并使用#if NET45_OR_GREATER/#else/#endif进行不同的调用。
所以我的建议是:更新到最新的软件包,如果有任何机会,你有不同框架的调用者,那么多目标你的中间库为每个框架提供不同的二进制文件

相关问题