您可以将v3 Azure Functions与Entity Framework Core 3.0一起使用吗?

时间:2019-11-14 17:31:26

标签: entity-framework entity-framework-core azure-functions

我正在尝试在Azure功能的最新(预览版)版本中使用EF Core 3,但是在尝试与数据库进行交互时出现以下错误:

  

System.Private.CoreLib:执行函数DemoFunction时发生异常。 Microsoft.Data.SqlClient:该平台不支持Microsoft.Data.SqlClient。

我在相同的解决方案中有一个Web应用程序,可以在相同的设置下正常工作,并且我的“平台”没有什么特别之处。这是dotnet --info的输出:

  

.NET Core SDK(反映任何global.json):版本:
  3.1.100-preview2-014569提交:4bd5d24d87

     

运行时环境:OS名称:Windows OS版本:10.0.18362   操作系统平台:Windows RID:win10-x64基本路径:C:\ Program   文件\ dotnet \ sdk \ 3.1.100-preview2-014569 \

     

主机(可用于支持):版本:3.1.0-preview2.19525.6提交:   5672978d91

     

.NET Core SDK已安装:     2.1.801 [C:\ Program Files \ dotnet \ sdk]     2.1.802 [C:\ Program Files \ dotnet \ sdk]     3.0.100 [C:\ Program Files \ dotnet \ sdk]     3.1.100-preview2-014569 [C:\ Program Files \ dotnet \ sdk]

     

.NET Core运行时已安装:Microsoft.AspNetCore.All 2.1.12   [C:\ Program Files \ dotnet \ shared \ Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.13 [C:\ Program   Files \ dotnet \ shared \ Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.App 2.1.12 [C:\ Program   Files \ dotnet \ shared \ Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.13 [C:\ Program   Files \ dotnet \ shared \ Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.0.0 [C:\ Program   Files \ dotnet \ shared \ Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.1.0-preview2.19528.8 [C:\ Program   Files \ dotnet \ shared \ Microsoft.AspNetCore.App] Microsoft.NETCore.App   2.1.12 [C:\ Program Files \ dotnet \ shared \ Microsoft.NETCore.App] Microsoft.NETCore.App 2.1.13 [C:\ Program   Files \ dotnet \ shared \ Microsoft.NETCore.App] Microsoft.NETCore.App   3.0.0 [C:\ Program Files \ dotnet \ shared \ Microsoft.NETCore.App] Microsoft.NETCore.App 3.1.0-preview2.19525.6 [C:\ Program   Files \ dotnet \ shared \ Microsoft.NETCore.App]
  Microsoft.WindowsDesktop.App 3.0.0 [C:\ Program   Files \ dotnet \ shared \ Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 3.1.0-preview2.19525.6 [C:\ Program   Files \ dotnet \ shared \ Microsoft.WindowsDesktop.App]

我已经创建了对问题here的最小复制,只需启动功能项目并将其发送HTTP请求(与Web应用程序相同)即可。

当前是否可以将EF Core 3与v3 Azure Functions一起使用? (仅供参考,我有一个运行EF Core 2.1的v2功能应用程序)

2 个答案:

答案 0 :(得分:0)

此问题已解决,请复制OP的评论,对其他有类似问题的人会有所帮助:

  

似乎有一个workaround解决了我的问题

作为一种解决方法,将以下代码添加到.csproj:

<Target Name="PostBuild" AfterTargets="PostBuildEvent">
    <Exec Command="copy $(OutDir)$(ProjectName).deps.json $(OutDir)bin\function.deps.json" />
  </Target>
  <Target Name="PostPublish" BeforeTargets="Publish">
    <Exec Command="copy $(PublishDir)$(ProjectName).deps.json $(PublishDir)bin\function.deps.json" />
  </Target>

答案 1 :(得分:0)

另一个解决方法是将Microsoft.NET.Sdk.Functions“ Version =” 3.0.8“迁移回3.0.7 参考:https://github.com/Azure/Azure-Functions/issues/1370#issuecomment-654698010