c# - 简单地将 Entity Framework Core 添加到基本的 Azure 函数应用程序会导致错误
问题描述
描述起来非常简单:
- 使用 Visual Studio 2019 (16.4.1) 中的“Azure Functions”模板创建新解决方案。
- 将 TargetFramework 更改为“.NET Core 3.1”。
- 它将使用 Microsoft.NET.Sdk.Functions (1.0.29) 创建。
- 将其更新到最新版本 (3.0.1)。
- 它不起作用,因为现在我们需要一些其他的 nuget 包:
- Microsoft.Azure.WebJobs.Core (3.0.14)
- Microsoft.Azure.WebJobs.Extensions.Http (3.0.2)
此时,应用程序在模拟器中运行。只需启动调试器,控制台窗口就会显示一切正常且工作正常。
现在添加
Microsoft.EntityFrameworkCore
(3.1.0)包
此时,我们没有触及任何代码行,我们只是添加了给定 nuget 包的最新版本,同时设置了最新的目标框架。尽管如此,在使用或不使用调试器启动模拟器时,Azure Functions 应用程序不再工作,引发此错误:
Microsoft.Azure.WebJobs.Host:索引方法“Function1”出错。
Microsoft.Azure.WebJobs.Host:无法将参数“日志”绑定到 ILogger 类型。确保绑定支持参数类型。如果您正在使用绑定扩展(例如 Azure 存储、ServiceBus、计时器等),请确保您已在启动代码中调用了扩展的注册方法(例如 builder.AddAzureStorage()、builder.AddServiceBus( )、builder.AddTimers() 等)。
解决方案
更新:刚刚测试并推送了 3.1.0 的更新——我会检查我的项目并尝试弄清楚你是否引入了其他一些冲突的依赖项——但这适用于 3.1.0 和 netcoreapp3.1
https://github.com/jeffhollan/functions-chsarp-entitycore-3
-- 原始答案
与实体核心 3.0.1 一起使用。尚未尝试使用 3.1.0,但可以稍后查看。现在这应该工作
推荐阅读
- ios - userDidAcceptCloudKitShareWith 未被调用
- amazon-web-services - 是否可以在 DynamoDB Streams 中使用增强型扇出?
- iis - How tightly can I control the Application Pool Recycle Interval in Microsoft IIS?
- javascript - 在框架ui`ant design`中将'badge'设置为'panel'
- ios - Why is glTexImage2D returning GL_INVALID_OPERATION on iOS?
- sql - How to handle duplicate columns in multiple WITH clause SQL
- python - 有效地按组对数据帧的一列进行洗牌
- python - 我想测试一个 URL 列表是否有效
- node.js - 如何检查字符串以将其缩小到枚举中的字符串,并让 TypeScript 识别它(节点示例)?
- python - 如何从嵌套的 for 循环构建 pandas 数据框