我正在使用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有问题,但不确定。