Ich habe derzeit einige Code wie unten gezeigt, die Linq verwendet, um einige IEnumerables für mich zu organisieren. Beim Ausführen dieses Codes auf dem Gerät im Freigabemodus (iOS 5.0.1, MonoTouch 5.0.1, Mono 2.10.6.1) erhalte ich die Ausnahme
Versuch der JIT-Kompilierung der Methode 'System.Linq.OrderedEnumerable`1:GetEnumerator()' bei Ausführung mit --aot-only.
Der Code, der diesen Fehler erzeugt, lautet
// List<IncidentDocument> documents is passed in
List<LibraryTableViewItemGroup> groups = new List<LibraryTableViewItemGroup>();
List<DocumentObjectType> categories = documents.Select(d=>d.Type).Distinct().OrderBy(s=>s.ToString()).ToList();
foreach(DocumentObjectType cat in categories)
{
List<IncidentDocument> catDocs = documents.Where(d => d.Type == cat).OrderBy(d => d.Name).ToList();
List<LibraryTableViewItem> catDocsTableItems = catDocs.ConvertAll(d => { return new LibraryTableViewItem{ Image = GetImageForDocument(d.Type), Title = d.Name, SubTitle = d.Description}; });
LibraryTableViewItemGroup catGroup = new LibraryTableViewItemGroup{ Name = GetCatName(cat), Footer = null, Items = catDocsTableItems };
groups.Add (catGroup);
}
Dieser Fehler tritt weder im Simulator bei Release|Debug-Konfigurationen noch auf dem Gerät bei der Debug-Konfiguration auf. Ich habe ein paar ähnliche Threads auf SO gesehen aquí y aquí aber ich bin mir nicht sicher, ob ich verstehe, wie sie in diesem speziellen Fall auf mich zutreffen.