[英].Net Framework 4.7.2 Referencing .Net Standard 2.0 project
[英]EntityFramwork compatibility with .net framework 4.7.2 projects and .net standard 2.0 project
我共享了使用实体框架 6.4 的项目,它代表其他项目中使用 .net 框架 4.7.2 的数据访问层。
我还创建了一个 azure function 版本 2 项目。 该框架是 .net 标准 2.0,它支持 .net 核心 2,因为它是 azure 功能所必需的。
当我想在 azure function 中使用该共享实体框架项目时,就会出现问题。 由于 .net 标准 2.0 不支持 EntityFramework 6.4
我正在寻找升级或降级甚至框架更改的解决方案,以在 azure function 和所有其他项目中使用该共享实体框架项目。
Entity Framework 6.4 与 netstandard 2.1 兼容,但不兼容 2.0,这意味着它至少需要 dotnet core 3.0。
但是,如果您可以将 azure function 项目升级到目标核心 3.0,则可以在数据层项目中启用多目标。
打开csproj
文件并替换:
<TargetFramework>netstandard2.0</TargetFramework>
经过
<TargetFrameworks>netstandard2.1;net472</TargetFrameworks>
注意从TargetFramework
到TargetFrameworks
的变化,这很重要!
这将使项目能够被针对完整框架(4.7.2 及更高版本)的项目以及网络标准 2.1 支持的任何项目引用。
如果您使用 v1 版本的 Azure 函数,则兼容性问题较少,例如支持 EF,但您可能仍会遇到其他依赖项的问题。
过去,我通过创建 V2 函数获得了巨大的成功,这些函数充当“前端”,将消息发布到事件中心或服务总线队列。 然后使用连续的 web 作业来处理 .net 框架代码中的这些排队消息,我现在将其称为解决方案的“遗留”部分。
Another option is to use a REST API that runs in .net fx, this will keep your functions lightweight as they only need to call endpoints in the API
@Aryan 你有没有解决过这个问题? 如果您的共享数据库的目标是 .net 框架 4.7.2(netStandard 2.0),那么您的 Azure ZC1C425268E68385D1AB5074C17A904F14 是否与共享库兼容? 如果您的数据库针对 .net 框架 4.5,可能会发生这种情况? EF 6.4 实际上以网络标准 2.1 或 .net 框架 4.5 为目标。 想法?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.