我正在使用 Xamarin 和 Breez# 使用 VS2017 for Mac 构建一个应用程序,一切正常,直到昨天 VS2017 通知我有更新,然后我更新了它,还有来自 nugget 的 Xamarin.forms 包。
那么我的应用程序无法运行。并在尝试调用方法获取数据时抛出异常。
{System.TypeLoadException: Could not find method due to a type load error
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder
`1[TResult].Start[TStateMachine] (TStateMachine& stateMachine) [0x0002c] in
/Library/Frameworks/Xamarin.iOS.framework/Versions/11.2.0.11
/src/mono/mcs/class/referencesource/mscorlib/system/runtime
/compilerservices/AsyncMethodBuilder.cs:471
方法:
public async Task<IEnumerable<Tenant>> GetAllItems()
{
try
{
// ignore the flurry of events when query results arrive
_ignoreEntityChanged = true;
var query = new EntityQuery<Tenant>().From(_resourceName);
var qr = await _em.ExecuteQuery(query);
_ignoreEntityChanged = false;
var result = qr.ToList();
return result;
}
catch (Exception e)
{
_ignoreEntityChanged = false;
return new List<Tenant>(); // return empty result instead
}
}
每次我尝试进入此方法时,都会出现错误。然后我尝试评论所有行但只返回一个空列表,我可以进入该方法并且它有效。下一步,我取消注释该行:
var query = new EntityQuery<Tenant>().From(_resourceName);
然后我无法进入该方法,并引发错误。
我想 EntityQuery 与最新的 vs2017 和 Xamarin.Form 有问题,但不确定。