繁体   English   中英

抛出异常:System.Private.CoreLib.dll 中的“System.MissingMethodException”

[英]Exception thrown: 'System.MissingMethodException' in System.Private.CoreLib.dll

我最近在我的一个项目中从 .net core 2.2 迁移到 3.1,并且一切正常。 突然间我开始收到此错误,我什至无法弄清楚缺少哪种方法。

我收到的异常消息是: Method not found: 'System.Threading.Tasks.Task1<Int32> Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions.ExecuteSqlCommandAsync(Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade, System.String, System.Threading.CancellationToken, System.Object[])'.

我不确定我做错了什么,因为我没有收到任何编译时错误,而且我过去使用过相同的方法。 我也试过在方法执行之前放置断点,但它甚至没有到达断点并抛出异常。

我可以提供任何其他必要的信息。

我能够弄清楚这一点。 升级到 .net core 3.1 后,我在项目中使用了不正确的 NuGet 包。

我使用的是Microsoft.EntityFrameworkCore.Relational.Design版本 1.1.6,它不是正确的包。 我应该使用Microsoft.EntityFrameworkCore.Relational 3.1.0 或更高版本。

通过使用第一个 NuGet 包,它使我可以在编译时访问ExecuteSqlCommandAsync并且不会抛出任何错误,但在运行时找不到该方法。 我应该使用ExecuteSqlRawAsync ,它在移动到 .net core 3 或更高版本时发生了变化。

希望这对其他人也有帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM