无法在引用类库的azure函数中加载文件或程序集'System.Data.Entity 4.0.0.0

问题描述

出现此错误

System.IO.FileNotFoundException HResult = 0x80070002消息=可以 无法加载文件或程序集'System.Data.Entity,Version = 4.0.0.0, 文化=中性,PublicKeyToken = b77a5c561934e089'。系统无法 查找指定的文件。 Source = ... StackTrace:位于....

我创建了一个引用类库的azure函数

我检查了类库,引用了System.Data.Entity。 但是当我运行azure函数时,会出现此错误

这可能是什么问题?

Azure功能在.Net Core 3.1上。 引用的类库(作为项目,我可以对其进行调试)在.Net Framework 4.7.2上

在.net Core 3.1上引用时,是否支持.net Framework 4.7.2的类库(为什么不加载System.Data.Entity)?

解决方法

从这个post我们可以知道:

.NET Core不支持包含.NET Framework库。期。但是,.NET Core支持.NET Standard,并且由于.NET Framework也实现了.NET Standard,因此Microsoft在编译器中做了一个特殊的例外,允许您包括.NET Framework库,但请注意,它们可能实际上根本不起作用或完全。当您在.NET Core项目中包含.NET Framework库时,您会收到有关此效果的警告,并且您必须确保该库端到端正确运行。

由于.NET Core支持.NET Standard库,因此可以使用.NET Standard的程序包。 post类似于您的问题,他的解决方案可能会启发您。