我正在尝试在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功能应用程序)
答案 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