同様の(同一の?)問題について説明している以前のSO質問をここで見ましたが、私の問題を満足させる答えはありませんでした。
私の環境:
MonoDevelop 3.0.3.2 インストールUUID:???????? ランタイム: モノ2.10.9(tarball) GTK 2.24.10 GTK#(2.12.0.0) パッケージバージョン:210090011 Android用Monoがインストールされていません Apple Developer Tools: Xcode 4.3.3(1178) ビルド4E3002 モノタッチ:5.2.12 ビルド情報: リリースID:30003002 Gitリビジョン:7bf6ac0ca43c1b12703176ad9933c3484c05c84c-ダーティ ビルド日:2012-06-16 04:36:10 + 0000 Xamarinアドイン:62ad7268d38c2ece7e00dc32960bd3bdab8fec38 オペレーティング·システム: Mac OS X 10.7.4 Darwin NEWTON.local11.4.0Darwinカーネルバージョン11.4.0 2012年4月9日月曜日19:32:15PDT ルート:xnu-1699.26.8〜1 / RELEASE_X86_64 x86_64
私のコード(Pingと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がスローされました --aot-onlyで実行中に、メソッド'ServiceStack.Text.Json.JsonReader`1:GetParseFn()'をJITコンパイルしようとしています。 System.ExecutionEngineException:--aot-onlyで実行しているときに、メソッド'ServiceStack.Text.Json.JsonReader`1:GetParseFn()'をJITコンパイルしようとしています。 ServiceStack.Text.Json.JsonReader.GetParseFn(System.Type type)[0x00000] in:0 ServiceStack.Text.Json.JsonTypeSerializer.GetParseFn(System.Type type)[0x00000] in:0 ServiceStack.Text.Common.TypeAccessor.Create(ITypeSerializerシリアライザー、ServiceStack.Text.TypeConfig typeConfig、System.Reflection.PropertyInfo propertyInfo)[0x00000]で:0 ServiceStack.Text.Common.DeserializeType`1 [ServiceStack.Text.Json.JsonTypeSerializer] .GetParseMethod(ServiceStack.Text.TypeConfig typeConfig)[0x00000]で:0 at ServiceStack.Text.Common.JsReader`1 [ServiceStack.Text.Json.JsonTypeSerializer] .GetParseFn [PingResponse]()[0x00000] in:0 ServiceStack.Text.Json.JsonReader`1 [IMDSSWebService_SS.ServiceModel.PingResponse] .. cctor()[0x00000]で:0
JsConfig.RegisterForAot()を呼び出してみましたが、何も変わりませんでした。Link SDK Only、Link All、Link Noneのさまざまな順列も試しましたが、上記の例外を除いてすべて失敗したか、まったくビルドされませんでした。以下を参照してください。
シミュレータ/デバッグ-正常に動作します シミュレーター/リリース-正常に動作します iPhone/デバッグ-上記の例外 iPhone/リリース-ビルドすらしません。(別のSO質問を作成します)