我曾見過以前的SO Question here討論過類似(相同?)問題,但沒有答案可以解決我的問題。MonoTouch上的ServiceStack JIT錯誤
我的環境:
MonoDevelop 3.0.3.2 Installation UUID: ???????? Runtime: Mono 2.10.9 (tarball) GTK 2.24.10 GTK# (2.12.0.0) Package version: 210090011 Mono for Android not installed Apple Developer Tools: Xcode 4.3.3 (1178) Build 4E3002 Monotouch: 5.2.12 Build information: Release ID: 30003002 Git revision: 7bf6ac0ca43c1b12703176ad9933c3484c05c84c-dirty Build date: 2012-06-16 04:36:10+0000 Xamarin addins: 62ad7268d38c2ece7e00dc32960bd3bdab8fec38 Operating System: Mac OS X 10.7.4 Darwin NEWTON.local 11.4.0 Darwin Kernel Version 11.4.0 Mon Apr 9 19:32:15 PDT 2012 root:xnu-1699.26.8~1/RELEASE_X86_64 x86_64
我的代碼(平& PingResponse是在我自己的ServiceModel庫的DTO):
Ping request = new Ping { LoginInfo = new IMDSSWebService_SS.ServiceModel.ClientLoginInfo { UserName="guest", Password="guest", ClientPlatform="iOS", ClientVersion="1.5", InstanceUID="uid1"} };
var response = _appDel.ServiceClient.Send<IMDSSWebService_SS.ServiceModel.PingResponse>(request);
ServiceStack庫:
ServiceStack.Common.Monotouch.dll (built from git src)
ServiceStack.Interfaces.Monotouch.dll (built from git src)
ServiceStack.Text.Monotouch (built from git src)
例外:
System.ExecutionEngineException has been thrown Attempting to JIT compile method 'ServiceStack.Text.Json.JsonReader`1:GetParseFn()' while running with --aot-only. System.ExecutionEngineException: Attempting to JIT compile method 'ServiceStack.Text.Json.JsonReader`1:GetParseFn()' while running with --aot-only. at ServiceStack.Text.Json.JsonReader.GetParseFn (System.Type type) [0x00000] in :0 at ServiceStack.Text.Json.JsonTypeSerializer.GetParseFn (System.Type type) [0x00000] in :0 at ServiceStack.Text.Common.TypeAccessor.Create (ITypeSerializer serializer, ServiceStack.Text.TypeConfig typeConfig, System.Reflection.PropertyInfo propertyInfo) [0x00000] in :0 at ServiceStack.Text.Common.DeserializeType`1[ServiceStack.Text.Json.JsonTypeSerializer].GetParseMethod (ServiceStack.Text.TypeConfig typeConfig) [0x00000] in :0 at ServiceStack.Text.Common.JsReader`1[ServiceStack.Text.Json.JsonTypeSerializer].GetParseFn[PingResponse]() [0x00000] in :0 at ServiceStack.Text.Json.JsonReader`1[IMDSSWebService_SS.ServiceModel.PingResponse]..cctor() [0x00000] in :0
我沒有嘗試調用JsConfig.RegisterForAot(),但沒有改變任何東西。我也試過了各種各樣的Link SDK Only,Link All,Link None,但都失敗了,或者上面的例外,或者根本沒有構建,見下文。
Simulator/Debug - Works Fine Simulator/Release - Works Fine iPhone/Debug - Exception Above iPhone/Release - Doesn't even build. (will create a separate SO question)
你應該接受這個問題:) – mythz 2012-07-09 19:06:34