Oh, sorry, OrderedEnumerable is an internal framework class, this work-around won't help you.
I'll ask the team of other options. On Wed, Feb 29, 2012 at 3:27 PM, Dan Miser <[email protected]> wrote: > That doesn't compile. There is no OrderedEnumerable class that I can find. > Just the interface. Changing it to the interface also doesnt compile. I put > the code in my Main.cs class. > > Any idea where I'm going wrong? > > Sent from my iPhone > > On Feb 29, 2012, at 11:48 AM, Rodrigo Kumpera <[email protected]> wrote: > > Hi, > > As simple workaround while we figure out how to fix it add a static method > to you App class with the following: > > static void LinqWorkAround () { > System.Linq.OrderedEnumerable<Foo>.CreateOrderedEnumerable<int> (null, > null, false); > } > > This should take care of this crash. If you're building your project with > user code linking enabled, > make sure to have this method called during initialization, something like > this: > > static bool dummy = false; > > static void main () { > > if (dummy) LinqWorkAround (); > } > > > > On Wed, Feb 29, 2012 at 2:24 PM, danmiser <[email protected]> wrote: > >> I've searched through this group, StackOverflow, and the MT bugzilla list. >> There are a lot of mentions about this, but I'm having a hard time finding >> an authoritative answer. Assume the following code: >> >> var list = new List<Foo>(); >> list.Add (new Foo { Id = 3, Name="def"}); >> list.Add (new Foo { Id = 2, Name="def"}); >> list.Add (new Foo { Id = 1, Name="ggg"}); >> var x = from l in list orderby l.Name, l.Id select l; >> foreach (var item in x) { ... do something ... } >> >> public class Foo { >> public int Id { get; set; } >> public string Name { get; set; } >> } >> >> When running on the device, I get the info pasted below. >> >> Notes: >> 1. This only fails on the device >> 2. It doesn't fail if you just have one orderby item >> >> I have a lot of LINQ in my POCO classes, and I wouldn't relish the idea of >> unwinding it all. >> >> What do I need to do to make this work? >> >> Unhandled Exception: System.ExecutionEngineException: Attempting to JIT >> compile method >> 'System.Linq.OrderedEnumerable`1<Foo>:CreateOrderedEnumerable<int> >> (System.Func`2<Foo, >> int>,System.Collections.Generic.IComparer`1<int>,bool)' >> while running with --aot-only. >> >> at System.Linq.Enumerable.ThenBy[Foo,Int32] (IOrderedEnumerable`1 source, >> System.Func`2 keySelector, IComparer`1 comparer) [0x00007] in >> >> /Developer/MonoTouch/Source/mono/mcs/class/System.Core/System.Linq/Enumerable.cs:2787 >> at System.Linq.Enumerable.ThenBy[Foo,Int32] (IOrderedEnumerable`1 source, >> System.Func`2 keySelector) [0x00000] in >> >> /Developer/MonoTouch/Source/mono/mcs/class/System.Core/System.Linq/Enumerable.cs:2779 >> at TestLibrary.HelloContext.List () [0x00006] in >> /Users/danmiser/code/MonoTouchRestDemo/TestLibrary/MyClass.cs:18 >> at MonoTouchRestDemo.MonoTouchRestDemoViewController.<ViewDidLoad>m__0 >> (System.Object sender, System.EventArgs e) [0x00006] in >> >> /Users/danmiser/code/MonoTouchRestDemo/MonoTouchRestDemo/MonoTouchRestDemoViewController.cs:38 >> at MonoTouch.UIKit.UIControlEventProxy.Activated () [0x00000] in >> /Developer/MonoTouch/Source/monotouch/src/UIKit/UIControl.cs:30 >> at MonoTouch.UIKit.UIApplication.Main (System.String[] args, >> System.String >> principalClassName, System.String delegateClassName) [0x00042] in >> /Developer/MonoTouch/Source/monotouch/src/UIKit/UIApplication.cs:29 >> at MonoTouchRestDemo.Application.Main (System.String[] args) [0x00000] in >> /Users/danmiser/code/MonoTouchRestDemo/MonoTouchRestDemo/Main.cs:16 >> [ERROR] FATAL UNHANDLED EXCEPTION: System.ExecutionEngineException: >> Attempting to JIT compile method >> >> 'System.Linq.OrderedEnumerable`1<TestLibrary.HelloClone>:CreateOrderedEnumerable<int> >> (System.Func`2<TestLibrary.HelloClone, >> int>,System.Collections.Generic.IComparer`1<int>,bool)' while running with >> --aot-only. >> >> at System.Linq.Enumerable.ThenBy[Foo,Int32] (IOrderedEnumerable`1 source, >> System.Func`2 keySelector, IComparer`1 comparer) [0x00007] in >> >> /Developer/MonoTouch/Source/mono/mcs/class/System.Core/System.Linq/Enumerable.cs:2787 >> at System.Linq.Enumerable.ThenBy[Foo,Int32] (IOrderedEnumerable`1 source, >> System.Func`2 keySelector) [0x00000] in >> >> /Developer/MonoTouch/Source/mono/mcs/class/System.Core/System.Linq/Enumerable.cs:2779 >> at TestLibrary.HelloContext.List () [0x00006] in >> /Users/danmiser/code/MonoTouchRestDemo/TestLibrary/MyClass.cs:18 >> at MonoTouchRestDemo.MonoTouchRestDemoViewController.<ViewDidLoad>m__0 >> (System.Object sender, System.EventArgs e) [0x00006] in >> >> /Users/danmiser/code/MonoTouchRestDemo/MonoTouchRestDemo/MonoTouchRestDemoViewController.cs:38 >> at MonoTouch.UIKit.UIControlEventProxy.Activated () [0x00000] in >> /Developer/MonoTouch/Source/monotouch/src/UIKit/UIControl.cs:30 >> at MonoTouch.UIKit.UIApplication.Main (System.String[] args, >> System.String >> principalClassName, System.String delegateClassName) [0x00042] in >> /Developer/MonoTouch/Source/monotouch/src/UIKit/UIApplication.cs:29 >> at MonoTouchRestDemo.Application.Main (System.String[] args) [0x00000] in >> /Users/danmiser/code/MonoTouchRestDemo/MonoTouchRestDemo/Main.cs:16 >> Terminating runtime due to unhandled exception >> Stacktrace: >> >> >> Native stacktrace: >> >> 0 MonoTouchRestDemo 0x01616970 >> mono_handle_native_sigsegv + 280 >> 1 MonoTouchRestDemo 0x016396c4 >> sigabrt_signal_handler + >> 180 >> 2 libsystem_c.dylib 0x331b6539 _sigtramp + 48 >> 3 libsystem_c.dylib 0x331abf5b pthread_kill + >> 54 >> 4 libsystem_c.dylib 0x331a4feb abort + 94 >> 5 MonoTouchRestDemo 0x016f2774 monoeg_g_logv + >> 152 >> 6 MonoTouchRestDemo 0x016f27c0 >> monoeg_assertion_message >> + 52 >> 7 MonoTouchRestDemo 0x01600348 >> mono_thread_abort + 148 >> 8 MonoTouchRestDemo 0x0161653c >> mono_handle_exception_internal + 3188 >> 9 MonoTouchRestDemo 0x01616740 >> mono_handle_exception + >> 24 >> 10 MonoTouchRestDemo 0x016382d8 >> mono_arm_throw_exception >> + 172 >> 11 MonoTouchRestDemo 0x005c361c throw_exception >> + 48 >> 12 MonoTouchRestDemo 0x01602910 >> mono_jit_compile_method >> + 68 >> 13 MonoTouchRestDemo 0x016a9ed8 >> mono_compile_method + 56 >> 14 MonoTouchRestDemo 0x01619d10 >> common_call_trampoline + >> 1364 >> 15 MonoTouchRestDemo 0x01617de4 >> mono_vcall_trampoline + >> 228 >> 16 MonoTouchRestDemo 0x005c3528 >> generic_trampoline_vcall >> + 136 >> 17 MonoTouchRestDemo 0x003b1c5c >> >> System_Linq_Enumerable_ThenBy_TestLibrary_HelloClone_int_System_Linq_IOrderedEnumerable_1_TestLibrary_HelloClone_System_Func_2_TestLibrary_HelloClone_int >> + 144 >> 18 MonoTouchRestDemo 0x003b0ca0 >> TestLibrary_HelloContext_List + 512 >> 19 MonoTouchRestDemo 0x006a9d34 >> >> MonoTouchRestDemo_MonoTouchRestDemoViewController__ViewDidLoadm__0_object_System_EventArgs >> + 300 >> 20 MonoTouchRestDemo 0x0000edcc >> MonoTouch_UIKit_UIControlEventProxy_Activated + 68 >> 21 MonoTouchRestDemo 0x0057c188 >> >> wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr >> + 200 >> 22 MonoTouchRestDemo 0x01602fbc >> mono_jit_runtime_invoke >> + 1644 >> 23 MonoTouchRestDemo 0x016ab43c >> mono_runtime_invoke + >> 128 >> 24 MonoTouchRestDemo 0x01707b54 >> monotouch_trampoline + >> 3228 >> 25 CoreFoundation 0x34321435 -[NSObject >> performSelector:withObject:withObject:] + 52 >> 26 UIKit 0x3778b9eb -[UIApplication >> sendAction:to:from:forEvent:] + 62 >> 27 UIKit 0x3778b9a7 -[UIApplication >> sendAction:toTarget:fromSender:forEvent:] + 30 >> 28 UIKit 0x3778b985 -[UIControl >> sendAction:to:forEvent:] + 44 >> 29 UIKit 0x3778b6f5 >> -[UIControl(Internal) >> _sendActionsForEvents:withEvent:] + 492 >> 30 UIKit 0x3778c02d -[UIControl >> touchesEnded:withEvent:] + 476 >> 31 UIKit 0x3778a50f -[UIWindow >> _sendTouchesForEvent:] + 318 >> 32 UIKit 0x37789f01 -[UIWindow >> sendEvent:] + >> 380 >> 33 UIKit 0x377704ed -[UIApplication >> sendEvent:] + 356 >> 34 UIKit 0x3776fd2d >> _UIApplicationHandleEvent + 5808 >> 35 GraphicsServices 0x30ba2df3 >> PurpleEventCallback + >> 882 >> 36 CoreFoundation 0x3439b553 >> __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 38 >> 37 CoreFoundation 0x3439b4f5 >> __CFRunLoopDoSource1 + >> 140 >> 38 CoreFoundation 0x3439a343 __CFRunLoopRun >> + 1370 >> 39 CoreFoundation 0x3431d4dd >> CFRunLoopRunSpecific + >> 300 >> 40 CoreFoundation 0x3431d3a5 >> CFRunLoopRunInMode + 104 >> 41 GraphicsServices 0x30ba1fcd GSEventRunModal >> + 156 >> 42 UIKit 0x3779e743 >> UIApplicationMain + 1090 >> 43 MonoTouchRestDemo 0x00026cfc >> >> wrapper_managed_to_native_MonoTouch_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr >> + 240 >> 44 MonoTouchRestDemo 0x006a8f20 >> MonoTouchRestDemo_Application_Main_string__ + 152 >> 45 MonoTouchRestDemo 0x0057c188 >> >> wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr >> + 200 >> 46 MonoTouchRestDemo 0x01602fbc >> mono_jit_runtime_invoke >> + 1644 >> 47 MonoTouchRestDemo 0x016ab43c >> mono_runtime_invoke + >> 128 >> 48 MonoTouchRestDemo 0x016af6e8 >> mono_runtime_exec_main + >> 436 >> 49 MonoTouchRestDemo 0x016b435c >> mono_runtime_run_main + >> 756 >> 50 MonoTouchRestDemo 0x01607344 mono_jit_exec + >> 140 >> 51 MonoTouchRestDemo 0x015ff550 main + 2168 >> 52 MonoTouchRestDemo 0x00002504 start + 52 >> >> -- >> View this message in context: >> http://monotouch.2284126.n4.nabble.com/LINQ-and-OrderBy-again-tp4432245p4432245.html >> Sent from the MonoTouch mailing list archive at Nabble.com. >> _______________________________________________ >> MonoTouch mailing list >> [email protected] >> http://lists.ximian.com/mailman/listinfo/monotouch >> > >
_______________________________________________ MonoTouch mailing list [email protected] http://lists.ximian.com/mailman/listinfo/monotouch
