我正在使用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" />
2条答案
按热度按时间ghhkc1vu1#
将nuget更新到WindowsAzure.Storage 9.3.3 https://www.nuget.org/packages/WindowsAzure.Storage/,然后发布您的函数,它应该可以工作,确保在应用程序设置中配置连接字符串。
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
进行不同的调用。所以我的建议是:更新到最新的软件包,如果有任何机会,你有不同框架的调用者,那么多目标你的中间库为每个框架提供不同的二进制文件