2 回答
TA贡献1825条经验 获得超6个赞
问题是两个 Nuget 包的版本不匹配。创建新的解决方案时,我无法复制该问题并且绑定工作CloudTable
得很好。与我的解决方案相比,发现我的函数项目引用了另一个项目,该项目依赖于
WindowsAzure.Storage (9.3.3)
因为我需要TableEntity
那里的类型。
现在事情变得棘手了。功能项目有参考
Microsoft.Azure.WebJobs.Extensions.Storage (3.0.6)
那一个依赖于
WindowsAzure.Storage (9.3.1)
9.3.3和9.3.1的版本差异导致了绑定问题。解决方案是在引用的项目中降级到 9.3.1
或者
或者(可能是推荐的):WindowsAzure.Storage
从引用的项目中删除并将其替换为Microsoft.Azure.Cosmos.Table
也包含TableEntity
. 重要的是不要将其与Microsoft.Azure.CosmosDB.Table
正在弃用的(注意“DB”)混淆。
TA贡献1833条经验 获得超4个赞
我遇到了类似的问题,当我尝试启动 Azure Function V3 时遇到此问题:
Error indexing method 'Function' Cannot bind parameter 'Table' to type CloudTable. Make sure the parameter Type is supported by the binding. If you're using binding extensions (e.g. Azure Storage, ServiceBus, Timers, etc.) make sure you've called the registration method for the extension(s) in your startup code (e.g. builder.AddAzureStorage(), builder.AddServiceBus(), builder.AddTimers(), etc.).
如前所述,我在我的项目中看到有WindowsAzure.Storage
一个警告标志并声明它已被弃用。
让我的项目监听表存储事件的修复方法是更改使用。显然我已经在我的项目中使用了对 Cosmos 的引用Microsoft.Azure.WebJobs.Extensions.Storage
通过删除 using: 来解决这个问题,using Microsoft.WindowsAzure.Storage.Table;
只需将其替换为using Microsoft.Azure.Cosmos.Table;
但请注意,如果您正在使用ObjectFlattenerRecomposer.Core,它仍在使用Microsoft.WindowsAzure.Storage.Table
并且尚无法使用Microsoft.Azure.Cosmos.Table
。我已就此事联系开发商。
- 2 回答
- 0 关注
- 144 浏览
添加回答
举报