首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法将实体框架核心加载到C#蔚蓝函数中

无法将实体框架核心加载到C#蔚蓝函数中
EN

Stack Overflow用户
提问于 2018-04-11 22:15:42
回答 1查看 1.1K关注 0票数 5

我已经在Azure/azure-functions-host中打开了一个Azure/azure-functions-host,我有一个带有repro步骤的存储库,但是我在这里发布这篇文章,以防我正在做的事情本身有什么问题,或者有人已经无意中发现了这个问题。

我的目标:我想在一个蔚蓝的函数中运行一些存在于现有visual解决方案中的类库中的代码。

这段代码恰好使用实体框架内核来读取和写入Server数据库。

在试图隔离我所面临的问题时,我最终得到了以下场景:

复制步骤:

  1. 在Visual中: File > New > Project > Azure函数
  2. 选择Azure Functions v2 Preview (.NET Core)
  3. 选择Http trigger
  4. 选择Storage Emulator
  5. 选择访问权限Function
  6. 使用nuget Microsoft.EntityFrameworkCore版本2.0.2安装
  7. 将调用添加到EFCore包中的任何内容 在我的例子中,我添加了以下一行: log.Info(typeof(DbContext).AssemblyQualifiedName);
  8. 确保天蓝色存储模拟器正在运行。
  9. 从visual studio (F5)运行函数
  10. 点击控制台中打印的url

预期行为:与示例Http trigger函数的默认行为一起,我希望看到与每次调用一起打印的如下行:

代码语言:javascript
复制
Microsoft.EntityFrameworkCore.DbContext, Microsoft.EntityFrameworkCore, Version=2.0.2.0, Culture=neutral, PublicKeyToken=adb9793829ddae60

实际行为:应用程序在运行时抛出一个异常并输出以下内容

11-4月18日6:33:59 AM执行'Function1‘(理由=’通过主机Apr以编程方式调用此函数‘,Id=6faabfd8-eb96-4d71-906c-940028a7978a) 11-4月18日6:33:59 AM执行'Function1‘(失败,Id=6 6faabfd8 8-eb96-4d71-906c-940028a7978a) 4月11日-18日6:33:59 AM System.Private.CoreLib: Exception执行函数: Function1.FunctionApp1:无法加载文件或程序集'Microsoft.EntityFrameworkCore,Version=2.0.2.0,Culture=neutral,PublicKeyToken=adb9793829ddae60‘。无法找到或加载特定文件。(HRESULT除外: 0x80131621)。System.Private.CoreLib:无法加载文件或程序集'Microsoft.EntityFrameworkCore,Version=2.0.2.0,Culture=neutral,PublicKeyToken=adb9793829ddae60‘。

目前的猜测:在研究这个问题时,我发现了一些可能相关的东西:

Azure函数运行库已经有一组可用的包,其中一个包是特定版本中的Newtonsoft.Json。在从项目中引用较新版本的Newtonsoft.Json的情况下,会观察到类似的行为。

这里是StackOverflow的问题这里是github的问题

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-13 15:05:54

解决办法:将Microsoft.EntityFrameworkCore回滚到2.0.1版。不知道这是否是一个已知的EFCore问题,但回到2.0.1有助于解决完全相同的问题。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49785180

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档