问题标签 [aot]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - MonoTouch 链接器无法解析 System.Void System.Console::set_ForegroundColor(System.ConsoleColor)
我的应用程序可以很好地构建/链接/部署到模拟器,但我只是第一次尝试将应用程序构建/部署到真实设备,但链接器失败。
我没有在我的应用程序中使用System.Console
或ConsoleColor
任何地方,但我确实有相当多的代码在使用UIColor
,我想知道这里是否存在一些 MT 依赖项。
我正在使用最新的东西——MonoDevelop 2.8.6.5 和 MonoTouch 5.2.5。
编译为本机代码 /Developer/MonoTouch/usr/bin/mtouch -sdkroot "/Developer" -v --nomanifest --nosign -dev "/Users/ogazitt/zaplify/bin/iPhone/Debug/iphone.app" -r "/Users/ogazitt/zaplify/bin/iPhone/Debug/BuiltSteady.Zaplify.Devices.ClientEntities.dll" -r "/Users/ogazitt/zaplify/bin/iPhone/Debug/Utilities.dll" -r "/Users/ ogazitt/zaplify/bin/iPhone/Debug/BuiltSteady.Zaplify.Devices.ClientViewModels.dll" -r "/Developer/MonoTouch/usr/lib/mono/2.1/System.dll" -r "/Developer/MonoTouch/usr/ lib/mono/2.1/System.Xml.dll" -r "/Developer/MonoTouch/usr/lib/mono/2.1/System.Core.dll" -r "/Developer/MonoTouch/usr/lib/mono/2.1/ monotouch.dll" -r "/Developer/MonoTouch/usr/lib/mono/2.1/MonoTouch.Dialog-1.dll"-debug -profiling -linksdkonly -sdk "5.0" "/Users/ogazitt/zaplify/bin/iPhone/Debug/zaplifyiphone.exe" MonoTouch 版本 5.2.5 使用框架:/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/ iPhoneOS5.0.sdk 复制 /Users/ogazitt/zaplify/bin/iPhone/Debug/zaplifyiphone.exe 到 /Users/ogazitt/zaplify/bin/iPhone/Debug/iphone.app/zaplifyiphone.exe 复制 /Users/ogazitt/zaplify /bin/iPhone/Debug/SharpCompress.3.5.dll 到 /Users/ogazitt/zaplify/bin/iPhone/Debug/iphone.app/SharpCompress.3.5.dll 已复制 /Users/ogazitt/zaplify/bin/iPhone/Debug/Newtonsoft .Json.MonoTouch.dll 到 /Users/ogazitt/zaplify/bin/iPhone/Debug/iphone.app/Newtonsoft.Json.MonoTouch.dll 链接 SDK 仅用于程序集 /Users/ogazitt/zaplify/bin/iPhone/Debug/zaplifyiphone .exe 进入 /Users/ogazitt/zaplify/bin/iPhone/Debug/iphone。应用程序错误 MT2002:无法解析参考:System.Void System.Console::set_ForegroundColor(System.ConsoleColor)
mono - Mono AOT 编译的可执行文件和 GC
Mono 可以使用 mkbundle 编译为本机 AOT 可执行文件。我的问题是,垃圾收集是如何工作的?如果我将 Mono 编译成 AOT 可执行文件,我应该在代码中进行修改以释放未使用的变量/对象吗?
c# - 在 MonoTouch 中编译时检测 JIT
我正在为使用大量跨平台组件的相当大的 MonoTouch 应用程序开发构建系统。结果,我们经常遇到这样一种情况,其中一个跨平台组件执行了一些无法编译的操作。如果实际执行了某些操作,则设备构建将崩溃。那时,我们必须追踪崩溃发生的位置,找到有问题的方法,然后破解它,这样它就不会在 MonoTouch 构建中尝试 JIT。
我的问题是,有没有办法在构建过程中检测到这些东西?起初,我们有一个正则表达式,它试图检测通用虚拟方法,但某些类型的 LINQ 和 lambda 也存在问题,它们也会尝试 JIT,我宁愿不尝试编写自己的解析器来检测它们全部。我试过使用monodis AssemblyName.dll
,它会给我很多丢失的方法错误,但它们中的大多数似乎是无害的——即使它们不是,它也没有告诉我对所述方法的引用在哪里所以我可以看到需要做什么。最重要的是,有时它会在组装结束时Abort trap: 6
或Bus error: 10
之前崩溃,这是非常无益的。有没有更好的方法可以检测构建过程中的 JIT 尝试?
c# - 如何使用 php 访问单声道本机代码
提前编译或 AOT 是 Mono 运行时代码生成器的一个功能。
单声道--aot program.exe
这将生成一个名为“program.exe.so”的文件
- 如何在 php 脚本中加载此共享对象文件并访问类对象和方法。?
谢谢
axapta - 如何从表 id 中获取 Common 对象?
如何通过 a 实例化一个通用类型对象(AX 中的表的基类)TableId
?此外,我们还能用 TableId 做什么?
我的目标是发送tableid
到我的方法,在那里,我将创建 id 所属表的缓冲区。可能吗?
c# - MonoTouch 神秘地不编译方法和属性?
我有一个奇怪的问题,MonoTouch 似乎要么没有编译方法,要么找不到它被指示调用的已编译方法,并且仅在发布配置中的设备上 - 调试版本很好。我尝试使用更简单的代码示例重现它,但没有成功,所以我怀疑您是否能够使用下面的代码看到行为。但这本质上就是我正在做的事情:
然后,用其他方法...
我得到的例外是标准的 JIT 编译消息,说它试图 JIT get_NavController()。我觉得这很奇怪,因为没有虚拟泛型,没有 LINQ,链接器已关闭,而且似乎没有其他任何通常会导致 JIT 的问题。我还验证了它会抛出 MyClass 上定义的其他方法和属性,但不会抛出构造函数或System.Object
继承的方法。反射显示,myClass.GetType().GetMembers()
对于我所期望的一切,都有一个 MemberInfo。然而,仅对于 Release|iPhone,我无法访问这些方法或属性。我能得出的唯一合乎逻辑的结论是 aot 编译步骤缺少它们,我根本不知道为什么会发生这种情况,更不用说仅在 Release 配置中。
我的问题是,什么可能导致这种情况,以及修复它的下一步是什么?我什至不知道从哪里开始调试这个,或者提交一个关于什么的错误,因为我无法在我们(很多)更大的项目的上下文中重现它。
更新:请求了确切的异常文本。
ios - MonoTouch 在设备上随机崩溃,而不是在模拟器上
我认为这与记忆有关,但我已经做了我能想到的一切。我已经确保类是处置财产。在类级别而不是函数范围内维护硬引用,用于在我使用它们时可能会被 GC 处理的东西等。
基本上,该应用程序在模拟器中运行良好,但在真实设备上的同一位置崩溃。似乎我得到了几个不同的堆栈,但它们都在同一个地方。
我在我的应用程序中使用了大量的事件。线程太多?
堆栈跟踪:
在 Newtonsoft.Json.JsonWriter.WriteValue (object) 在 Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeValue (Newtonsoft.Json.JsonWriter,object,Newtonsoft.Json.Serialization.JsonContract,Newtonsoft.Json.Serialization.JsonProperty,Newtonsoft.Json。 Serialization.JsonContract) 在 Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.WriteMemberInfoProperty (Newtonsoft.Json.JsonWriter,object,Newtonsoft.Json.Serialization.JsonProperty,Newtonsoft.Json.Serialization.JsonContract) 在 Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeObject ( Newtonsoft.Json.JsonWriter,object,Newtonsoft.Json.Serialization.JsonObjectContract,Newtonsoft.Json.Serialization.JsonProperty,Newtonsoft.Json.Serialization.JsonContract) 在 Newtonsoft.Json.Serialization.JsonSerializerInternalWriter。在 Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeList (Newtonsoft.Json.JsonWriter.SerializeList (Newtonsoft.Json.JsonWriter) ,Newtonsoft.Json.Utilities.IWrappedCollection,Newtonsoft.Json.Serialization.JsonArrayContract,Newtonsoft.Json.Serialization.JsonProperty,Newtonsoft.Json.Serialization.JsonContract) 在 Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeValue (Newtonsoft.Json.JsonWriter,对象,Newtonsoft.Json.Serialization.JsonContract,Newtonsoft.Json.Serialization.JsonProperty,Newtonsoft.Json.Serialization.JsonContract) 在 Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.WriteMemberInfoProperty (Newtonsoft.Json.JsonWriter,object,Newtonsoft.Json.Serialization.JsonProperty,Newtonsoft.Json.Serialization.JsonContract) 在 Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeObject (Newtonsoft.Json.JsonWriter,object,Newtonsoft.Json.Serialization.JsonObjectContract,Newtonsoft.Json.Serialization.JsonProperty ,Newtonsoft.Json.Serialization.JsonContract) 在 Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeValue (Newtonsoft.Json.JsonWriter,object,Newtonsoft.Json.Serialization.JsonContract,Newtonsoft.Json.Serialization.JsonProperty,Newtonsoft.Json.Serialization. JsonContract) 在 Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.Serialize (Newtonsoft.Json.JsonWriter,object) 在 Newtonsoft.Json.JsonSerializer.SerializeInternal (Newtonsoft.Json.JsonWriter,object) 在 Newtonsoft.Json.JsonSerializer。在 RestSharp 的 /Users/sonmez56/Projects/TrackAbout.Mono/RestSharp/RestSharp/Serializers/JsonSerializer.cs:64 中的 RestSharp.Serializers.JsonSerializer.Serialize (object) [0x0001c] 序列化 (Newtonsoft.Json.JsonWriter,object)。 RestRequest.AddBody (object,string) [0x00019] in /Users/sonmez56/Projects/TrackAbout.Mono/RestSharp/RestSharp/RestRequest.cs:203 at RestSharp.RestRequest.AddBody (object) [0x00000] in /Users/sonmez56/ Projects/TrackAbout.Mono/RestSharp/RestSharp/RestRequest.cs:232 在 TrackAboutMonoCore.Services.TrackAboutAPIRequestBuilder/TARESTRequest.WithBody (T) <0x00097> 在 TrackAboutMonoCore.Services.ActionsService.CustomerSetVolume (int,System.Collections.Generic.List在 /Users/sonmez56/Projects/TrackAbout.Mono/RestSharp/RestSharp/Serializers/JsonSerializer.cs:64 在 /Users/sonmez56/ 中的 RestSharp.RestRequest.AddBody (object,string) [0x00019] 中序列化(对象)[0x0001c] Projects/TrackAbout.Mono/RestSharp/RestSharp/RestRequest.cs:203 at RestSharp.RestRequest.AddBody (object) [0x00000] in /Users/sonmez56/Projects/TrackAbout.Mono/RestSharp/RestSharp/RestRequest.cs:232 at TrackAboutMonoCore .Services.TrackAboutAPIRequestBuilder/TARESTRequest.WithBody (T) <0x00097> 在 TrackAboutMonoCore.Services.ActionsService.CustomerSetVolume (int,System.Collections.Generic.List在 /Users/sonmez56/Projects/TrackAbout.Mono/RestSharp/RestSharp/Serializers/JsonSerializer.cs:64 在 /Users/sonmez56/ 中的 RestSharp.RestRequest.AddBody (object,string) [0x00019] 中序列化(对象)[0x0001c] Projects/TrackAbout.Mono/RestSharp/RestSharp/RestRequest.cs:203 at RestSharp.RestRequest.AddBody (object) [0x00000] in /Users/sonmez56/Projects/TrackAbout.Mono/RestSharp/RestSharp/RestRequest.cs:232 at TrackAboutMonoCore .Services.TrackAboutAPIRequestBuilder/TARESTRequest.WithBody (T) <0x00097> 在 TrackAboutMonoCore.Services.ActionsService.CustomerSetVolume (int,System.Collections.Generic.ListRestRequest.AddBody (object) [0x00000] in /Users/sonmez56/Projects/TrackAbout.Mono/RestSharp/RestSharp/RestRequest.cs:232 at TrackAboutMonoCore.Services.TrackAboutAPIRequestBuilder/TARestRequest.WithBody (T) <0x00097> at TrackAboutMonoCore.Services .ActionsService.CustomerSetVolume (int,System.Collections.Generic.ListRestRequest.AddBody (object) [0x00000] in /Users/sonmez56/Projects/TrackAbout.Mono/RestSharp/RestSharp/RestRequest.cs:232 at TrackAboutMonoCore.Services.TrackAboutAPIRequestBuilder/TARestRequest.WithBody (T) <0x00097> at TrackAboutMonoCore.Services .ActionsService.CustomerSetVolume (int,System.Collections.Generic.List
1<TrackAboutMonoCore.Models.Asset>,System.Action
1>) [0x00000] 在 /Users/sonmez56/Projects/TrackAbout.Mono/TrackAboutMonoCore/Services/ActionsService.cs:24 在 TrackAboutMonoCore.Controllers.LocateController.Save (object,System.EventArgs) [0x00055] 在 /Users/sonmez56 /Projects/TrackAbout.Mono/TrackAboutMonoCore/Controllers/LocateController.cs:64 在 MonoTouch.UIKit.UIBarButtonItem/Callback.Call (MonoTouch.Foundation.NSObject) [0x00010] 在 /Developer/MonoTouch/Source/monotouch/src/UIKit/ UIBarButtonItem.cs:23 at (wrapper runtime-invoke) object.runtime_invoke_dynamic (intptr,intptr,intptr,intptr) <0xffffffff> 在 MonoTouch.UIKit.UIApplication.Main (string[],string,string) [0x0004c] in /Developer /MonoTouch/Source/monotouch/src/UIKit/UIApplication.cs:38 在 /Users/sonmez56/Projects/TrackAbout 中的 TrackAboutIOS.Application.Main (string[]) [0x00000]。Mono/TrackAboutIOS/TrackAboutIOS/Main.cs:16 at (wrapper runtime-invoke) object.runtime_invoke_dynamic (intptr,intptr,intptr,intptr) <0xffffffff>本机堆栈跟踪:
0 TrackAboutIOS 0x01d20618 mono_handle_native_sigsegv + 280 1 TrackAboutIOS
0x01d45bd4 sigabrt_signal_handler + 180 2 libsystem_c.dylib
0x376647ed _sigtramp + 48 3 libsystem_c.dylib
0x3765a20f pthread_kill + 54 4 libsystem_c.dylib
0x3765329f abort + 94 5 TrackAboutIOS
0x01e394ac monoeg_g_log + 208 6 TrackAboutIOS
0x01d11664 get_numerous_trampoline + 160 7 TrackAboutIOS
0x01d11aac mono_aot_get_imt_thunk + 56 8 TrackAboutIOS
0x01dbdc50 initialize_imt_slot + 112 9 TrackAboutIOS
0x01dbf1c4 build_imt_slots + 1124 10 TrackAboutIOS
0x01dbf32c mono_vtable_build_imt_slot IOS + 120 1
0x01d236fc mono_convert_imt_slot_to_vtable_slot + 292 12 TrackAboutIOS 0x01d23974 common_call_trampoline + 284 13 TrackAboutIOS 0x01d21c60 mono_vcall_trampoline + 228 14 TrackAboutIOS
0x00934198 generic_trampoline
0x00b9fec4 Newtonsoft_Json_Serialization_JsonSerializerInternalWriter_SerializeValue_Newtonsoft_Json_JsonWriter_object_Newtonsoft_Json_Serialization_JsonContract_Newtonsoft_Json_Serialization_JsonProperty_Newtonsoft_Json_Serialization_JsonContract + 1116 16 TrackAboutIOS 0x00ba13bc Newtonsoft_Json_Serialization_JsonSerializerInternalWriter_WriteMemberInfoProperty_Newtonsoft_Json_JsonWriter_object_Newtonsoft_Json_Serialization_JsonProperty_Newtonsoft_Json_Serialization_JsonContract + 1712 17 TrackAboutIOS 0x00ba2a70 Newtonsoft_Json_Serialization_JsonSerializerInternalWriter_SerializeObject_Newtonsoft_Json_JsonWriter_object_Newtonsoft_Json_Serialization_JsonObjectContract_Newtonsoft_Json_Serialization_JsonProperty_Newtonsoft_Json_Serialization_JsonContract + 1784 18 TrackAboutIOS0x00ba0124 Newtonsoft_Json_Serialization_JsonSerializerInternalWriter_SerializeValue_Newtonsoft_Json_JsonWriter_object_Newtonsoft_Json_Serialization_JsonContract_Newtonsoft_Json_Serialization_JsonProperty_Newtonsoft_Json_Serialization_JsonContract + 1724 19 TrackAboutIOS 0x00ba3ec0 Newtonsoft_Json_Serialization_JsonSerializerInternalWriter_SerializeList_Newtonsoft_Json_JsonWriter_Newtonsoft_Json_Utilities_IWrappedCollection_Newtonsoft_Json_Serialization_JsonArrayContract_Newtonsoft_Json_Serialization_JsonProperty_Newtonsoft_Json_Serialization_JsonContract + 2520 20 TrackAboutIOS 0x00ba041cNewtonsoft_Json_Serialization_JsonSerializerInternalWriter_SerializeValue_Newtonsoft_Json_JsonWriter_object_Newtonsoft_Json_Serialization_JsonContract_Newtonsoft_Json_Serialization_JsonProperty_Newtonsoft_Json_Serialization_JsonContract + 2484 21 TrackAboutIOS 0x00ba13bc Newtonsoft_Json_Serialization_JsonSerializerInternalWriter_WriteMemberInfoProperty_Newtonsoft_Json_JsonWriter_object_Newtonsoft_Json_Serialization_JsonProperty_Newtonsoft_Json_Serialization_JsonContract + 1712 22 TrackAboutIOS 0x00ba2a70 Newtonsoft_Json_Serialization_JsonSerializerInternalWriter_SerializeObject_Newtonsoft_Json_JsonWriter_object_Newtonsoft_Json_Serialization_JsonObjectContract_Newtonsoft_Json_Serialization_JsonProperty_Newtonsoft_Json_Serialization_JsonContract + 1784 23 TrackAboutIOS0x00ba0124 Newtonsoft_Json_Serialization_JsonSerializerInternalWriter_SerializeValue_Newtonsoft_Json_JsonWriter_object_Newtonsoft_Json_Serialization_JsonContract_Newtonsoft_Json_Serialization_JsonProperty_Newtonsoft_Json_Serialization_JsonContract + 1724 24 TrackAboutIOS 0x00b9f70c Newtonsoft_Json_Serialization_JsonSerializerInternalWriter_Serialize_Newtonsoft_Json_JsonWriter_object + 356 25 TrackAboutIOS 0x00b2c52c Newtonsoft_Json_JsonSerializer_SerializeInternal_Newtonsoft_Json_JsonWriter_object + 300 26 TrackAboutIOS 0x00b2c3b4 Newtonsoft_Json_JsonSerializer_Serialize_Newtonsoft_Json_JsonWriter_object + 156 27 TrackAboutIOS 0x012010c0 RestSharp_Serializers_JsonSerializer_Serialize_object + 452 28 TrackAboutIOS0x011f8ad0 RestSharp_RestRequest_AddBody_object_string + 396 29 TrackAboutIOS
0x011f8e4c RestSharp_RestRequest_AddBody_object + 152 30 TrackAboutIOS 0x011d3c64 TrackAboutMonoCore_Services_TrackAboutAPIRequestBuilder_TARestRequest_WithBody_T_T + 152 31 TrackAboutIOS 0x011d22d4 TrackAboutMonoCore_Services_ActionsService_CustomerSetVolume_int_System_Collections_Generic_List_1_TrackAboutMonoCore_Models_Asset_System_Action_1_RestSharp_RestResponse_1_TrackAbout_Rest_Models_TARestResponse + 328 32 TrackAboutIOS 0x011ce3bc TrackAboutMonoCore_Controllers_LocateController_Save_object_System_EventArgs + 960 33 TrackAboutIOS 0x0139003c MonoTouch_UIKit_UIBarButtonItem_Callback_Call_MonoTouch_Foundation_NSObject + 96 34 TrackAboutIOS 0x008b0450wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 200 35 TrackAboutIOS 0x01d05834 mono_jit_runtime_invoke + 1644 36 TrackAboutIOS
0x01dbd09c mono_runtime_invoke + 128 37 TrackAboutIOS
0x01e4c054 monotouch_trampoline + 3436 38 CoreFoundation
0x30c7f3fd -[NSObject performSelector:withObject:withObject:] + 52 39 UIKit 0x3353efaf -[UIApplication sendAction:to:from:forEvent:] + 62 40 UIKit
0x3360476b -[UIBarButtonItem(UIInternal ) _sendAction:withEvent:] + 118 41 CoreFoundation 0x30c7f3fd -[NSObject performSelector:withObject:withObject:] + 52 42 UIKit
0x3353efaf -[UIApplication sendAction:to:from:forEvent:] + 62 43 UIKit 0x3353ef6b -[UIApplication sendAction:toTarget: fromSender:forEvent:] + 30 44 UIKit
0x3353ef49 -[UIControl sendAction:to:forEvent:] + 44 45 UIKit
0x3353ecb9 -[UIControl(内部) _sendActionsForEvents:withEvent:] + 492 46 UIKit 0x3353f5f1 -[UIControl touchesEnded:withEvent:] + 476 47 UIKit
0x3353dad3 -[UIWindow _sendTouchesForEvent:] + 318 48 UIKit
0x3353d4c1 -[49UI 窗口发送事件UIKit
0x3352383d -[UIApplication sendEvent:] + 356 50 UIKit
0x335230e3 _UIApplicationHandleEvent + 5826 51 GraphicsServices
0x33e1322b PurpleEventCallback + 882 52 CoreFoundation
0x30cf9523 CFRUNLOOP_IS_CALLING_OUT_TO_A3_SOURCE1_PERFORM_UNCTION + 5826 51 CoreFoundation 0x30cf9523 CFRUNLOOP_IS_CALLING_OUT_TO_A3_SOURCE1_PERFORM_UNCTIONCFRunLoopDoSource1 + 140 54 CoreFoundation 0x30cf8313 __CFRunLoopRun + 1370 55 CoreFoundation
0x30c7b4a5 CFRunLoopRunSpecific + 300 56 CoreFoundation
0x30c7b36d CFRunLoopRunInMode + 104 57 GraphicsServices
0x33e12439 GSEventRunModal + 136 58 UIKit
0x33551e7d UIApplicationMain + 1080 59 TrackAboutIOS
0x01696c74 wrapper_managed_to_native_MonoTouch_UIKit_UIApplication_UIApplicationMain_int_string _intptr_intptr + 240 60 TrackAboutIOS 0x00098420 TrackAboutIOS_Application_Main_string__ + 152 61 TrackAboutIOS
0x008b0450 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 200 62 TrackAboutIOS 0x01d05834 mono_jit_runtime_invoke + 1644 63 TrackAboutIOS
0x01dbd09c mono_runtime_invoke + 128 64 TrackAboutIOS
0x01dc16b4 mono_runtime_exec_main + 436 65 TrackAboutIOS
0x01dc1a74 mono_runtime_run_main + 756 66 TrackAboutIOS
0x01d0c744 mono_jit_exec + 140 67 TrackAboutIOS
0x01e41110 main + 2288 68 TrackAboutIOS
0x0009826c start + 52
java - MonoTouch + IKVM 项目中的 JIT 编译问题
我正在通过ikvm-monotouch和 MonoTouch 将 Java 游戏移植到 iOS。我遇到了一个让我有点头疼的错误,虽然我不确定这是否是 MonoTouch 中的实际错误,所以我在点击错误数据库之前在这里询问。
在反映对象字段的方法期间,我收到下面的 JIT 编译错误。我(到目前为止)只在反映实现的对象时看到此错误Cloneable
,尽管我不确定这是否是触发此错误的具体原因。
ikvm-monotouch TypeWrapper 类的快速链接:https ://github.com/samskivert/ikvm-monotouch/blob/master/runtime/TypeWrapper.cs
c# - MonoTouch AOT 编译器 - 大型方法失败
我正在开发一款游戏,我们一直以 JSON 格式存储关卡信息。这些级别非常大,因此我们切换到仅将它们存储在普通 C# 中:
- 顶级方法具有用于级别/对象名称的 switch 语句
- 有几种自动生成的方法可以使用标准属性初始化器“新建”我们的对象树
例子:
除了这些方法非常大并且具有其他对象的嵌套列表/字典等。
这将加载关卡的时间从 2-3 秒加快到了几分之一秒(在 Windows 上)。与 JSON 相比,编译后的 IL 数据的大小也相当小。
问题是当我们在 MonoDevelop 中为 MonoTouch 编译这些时,我们得到:
mtouch exited with code 1
-v -v -v
打开后,我们可以看到错误:
为 AOT 编译时,方法中的行数是否有限制?我们可以传递一些论据mtouch
来解决这个问题吗?有些文件工作正常,但特别是导致错误的文件有 3,000 行方法。无论如何,为模拟器编译都可以正常工作。
这仍然是一个实验,所以我们意识到这是一个非常疯狂的情况。
c# - 是否可以使用 Mono AOT Compiled (Native)c# Executable 和具有未实现 Mono 方法的 C# Dll(CIL)
我有一个可以使用 Mono c# 编译器编译的主要 C# 可执行文件,但 EXE 使用的 DLL 使用 P/Invoke 和其他不支持的单声道方法,因此我无法将此 DLL 编译为 Mono。有什么方法可以将这些 DLL 与提前编译的 Mono Executable 一起使用?