TypeLoadException:类型中的方法'Create'没有实现(下面是错误信息)

4

我将我的程序发布到 Azure 网站上,出现了以下错误:

enter image description here

只有在我尝试向连接的Azure SQL Server添加数据或从Azure SQL Server检索(一些)数据时,错误似乎才会发生。这可能是依赖关系问题吗?如果是这样,我正在使用netcoreapp3.1和Microsoft.EntityFrameworkCore.SqlServer版本3.1.4。以下是其他NuGet包及其版本的进一步截图:

enter image description here

我尝试在其他地方寻找解决此问题的方法,但这似乎是一个特定于我的程序的独一无二的问题。如果需要其他信息,请告诉我,因为我不确定这个错误的真正根源在哪里。

1
你的包版本不兼容。EF Core Identity 5.0.1与所有其他EF核心包不兼容。这是行不通的。 - Aluan Haddad
请将您的错误消息和文件内容作为文本代码添加到您的问题中,而不是作为图像。请参见此处的说明:为什么在提问时不上传代码/错误的图片? - Heinzi
2个回答

8

基本上,这个错误消息的意思是在你的代码/库中,Microsoft.EntityFrameworkCore.SqlServer.Query.Internal.SqlServerSqlTranslatingExpressionVisitorFactory 类型提到了 Create 方法,但它无法找到它,因为引用该方法的nuget包的版本不正确,Create 方法不存在

请注意,以下所有包应该是同一个版本:

  • Microsoft.EntityFrameworkCore.Tools
  • Microsoft.EntityFrameworkCore
  • Microsoft.AspNetCore.Identity.EntityFrameworkCore
  • Microsoft.EntityFrameworkCore.Design
  • Microsoft.EntityFrameworkCore.SqlServer

例如,所有这些都可以是3.1.4版本。查看与此相关的确切问题: I get an error when I add migration using Entity Framework Core

如果这样仍然无效,您可能需要查看此解决方案


1
即使在精确匹配版本号后,我仍然遇到了版本3的错误。唯一能够解决它的方法是升级到较新的主要版本7。这样做的缺点是失去了与.NET Framework 4的netstandard2兼容性,但EF 3现在已经停产了... - CrazyPyro

0

我在使用NuGet之后解决了这个问题

Add-Migration Initial Update-Database


添加迁移 Initial 更新数据库 - Tomas Dale

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接