Получение System.InvalidProgramException: недопустимое исключение кода IL - PullRequest
1 голос
/ 17 мая 2019

У меня есть проект Xamarin Forms, использующий EF Core 2.2.4 с SQLite. В ряде мест в моем коде я получаю временную ошибку (возможно, 1% времени?), Которая выглядит как ошибка EF Core, но я не могу сказать наверняка.

Один пример кода, где я получаю это:

var context = new DatabaseContext();
var dbItem = await context.MobileErrors.FirstOrDefaultAsync(me => me.Id.Equals(item.Id)).ConfigureAwait(false);

DatabaseContext наследуется от DbContext. Исключение также происходит с ToListAsync () и другими вызовами EF. Исключение составляет:

System.InvalidProgramException: недопустимый код IL в (оболочке динамический метод) объект: lambda_method (System.Runtime.CompilerServices.Closure): тело метода пусто.
at (обёртка, управляемая на родной) System.Delegate.CreateDelegate_internal (System.Type, объект, System.Reflection.MethodInfo, BOOL) в System.Delegate.CreateDelegate (тип System.Type, System.Object метод firstArgument, System.Reflection.MethodInfo, System.Boolean throwOnBindFailure, System.Boolean allowClosed) [0x002f0] в <58604b4522f748968296166e317b04b4>: 0 в System.Delegate.CreateDelegate (тип System.Type, System.Object firstArgument, метод System.Reflection.MethodInfo) [0x00000] в <58604b4522f748968296166e317b04b4>: 0 в System.Reflection.Emit.DynamicMethod.CreateDelegate (System.Type DelegateType, System.Object target) [0x0001a] в <58604b4522f748968296166e317b04b4>: 0 at (динамический метод-оболочка) System.Object.lambda_method (System.Runtime.CompilerServices.Closure, Microsoft.EntityFrameworkCore.Query.QueryContext) в Microsoft.EntityFrameworkCore.Query.Internal.QueryCompiler.ExecuteSingletonAsyncQuery [TResult] (Microsoft.EntityFrameworkCore.Query.QueryContext queryContext, System.Func * +1010 * 1 [TLoggerCategory] регистратор, System.Type contextType) [0x000d6] в : 0 в Mobile.Services.MobileErrorsService.UpdateLocalAsync (Контекст Mobile.Data.Models.DatabaseContext, Элемент Mobile.Data.Models.MobileError) [0x00133] в : 0 в Mobile.Services.MobileErrorsService + <> c__DisplayClass8_0.b__0 () [0x00115] в: 0

Любые идеи об изменениях, которые я мог бы попытаться решить эту проблему? Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...