2011-09-26 690 views
1

MonoDevelop 2.8 Beta 2 및 XCode 4이있는 MonoTouch 4.2.1을 사용하고 있습니다. slsvcutil 프록시 생성자가 생성 한 클래스를 통해 .Net 웹 서비스 메서드를 호출하려고합니다.MonoTouch 4.2는 장치에서 실행될 때 System.ServiceModel.EndpointAddress()를 지원하지 않습니다 (시뮬레이터에서 작동)

iPhone 시뮬레이터에서 응용 프로그램을 테스트 할 때 코드가 작동하고 서버에 연결하여 웹 서비스 요청을 전송합니다.

그러나 iOS 4.3.5가 적용된 iPhone 4에서 앱을 테스트하면 System.ServiceModel.EndpointAddress() 생성자를 호출 할 때 앱이 서버에 연결되지 않습니다.

MonoTouch 4.0.7에서 제대로 작동했음을 유의하십시오.

Attempting to JIT compile method 'System.Linq.Enumerable:FirstOrDefault<System.ServiceModel.Description.OperationDescription> (System.Collections.Generic.IEnumerable`1<System.ServiceModel.Description.OperationDescription>,System.Func`2<System.ServiceModel.Description.OperationDescription, bool>)' while running with --aot-only. 

것 같다 다음 줄이 충돌하는 것입니다 :

new System.ServiceModel.EndpointAddress(
     string.Format(System.Globalization.CultureInfo.InvariantCulture, "http://{0}:{1}/Dartfish/RemoteControlServices/", 
     address, port))); 

오류 스택 :

[ERROR] FATAL UNHANDLED EXCEPTION: System.ExecutionEngineException: Attempting to JIT compile method 
'System.Linq.Enumerable:FirstOrDefault<System.ServiceModel.Description.OperationDescription> (System.Collections.Generic.IEnumerable`1<System.ServiceModel.Description.OperationDescription>,System.Func`2 System.ServiceModel.Description.OperationDescription, bool)' while running with --aot-only. 
at System.ServiceModel.Description.ContractDescriptionGenerator.GetOrCreateOperation (System.ServiceModel.Description.ContractDescription cd, System.Reflection.MethodInfo mi, System.Reflection.MethodInfo serviceMethod, System.ServiceModel.OperationContractAttribute oca, System.Type asyncReturnType, Boolean isCallback, System.Type givenServiceType) 
at System.ServiceModel.Description.ContractDescriptionGenerator.FillOperationsForInterface (System.ServiceModel.Description.ContractDescription cd, System.Type exactContractType, System.Type givenServiceType, Boolean isCallback) 
at System.ServiceModel.Description.ContractDescriptionGenerator.GetContractInternal (System.Type givenContractType, System.Type givenServiceType, System.Type serviceTypeForCallback) 
at System.ServiceModel.Description.ContractDescriptionGenerator.GetContract (System.Type givenContractType, System.Type givenServiceType, System.Type serviceTypeForCallback) 
at System.ServiceModel.Description.ContractDescriptionGenerator.GetContract (System.Type givenContractType, System.Type givenServiceType) 
at System.ServiceModel.Description.ContractDescriptionGenerator.GetContract (System.Type contractType) 
at System.ServiceModel.Description.ContractDescription.GetContract (System.Type contractType) 
at System.ServiceModel.ChannelFactory`1[ICommandMgr].CreateDescription() 
m.ServiceModel.ChannelFactory`1[ICommandMgr]..ctor (System.Type type) 
at System.ServiceModel.ChannelFactory`1[ICommandMgr]..ctor (System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) 
at System.ServiceModel.ClientBase`1[ICommandMgr].Initialize (System.ServiceModel.InstanceContext instance, System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) 
at System.ServiceModel.ClientBase`1[ICommandMgr]..ctor (System.ServiceModel.InstanceContext instance, System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) 
at System.ServiceModel.ClientBase`1[ICommandMgr]..ctor (System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) 
at CommandMgrClient..ctor (System.ServiceModel.Channels. 
at Dartfish.ViewModel.RemoteControlViewModel.ProxyTransportViewModel.DoCommandMgrOpenAsync (System.String address, Int32 port) 

그것은 돈의

우리는 오류가 '티 컴파일러 옵션은 "링크 SDK 어셈블리 만"이므로 컴파일러 문제로 보입니다. 누군가가이 충돌을 해결하는 방법을 알고 있습니까? 아니면 새로운 MonoTouch 버전/마지막 MonoTouch 버전의 버그입니까?

+1

** "새로운 System.ServiceModel.EndpointAddress (...)"**로 문제를 복제 할 수 없습니다. http://bugzilla.xamarin.com에서 버그 보고서를 작성하고 문제를 보여주는 작고 독립적 인 테스트 케이스를 포함하십시오. 감사합니다 – poupou

+0

버그가보고되었습니다 : http://bugzilla.xamarin.com/show_bug.cgi?id=1053 – Nicolas

+0

MonoTouch 4.2.1을 다시 설치하려고했는데 현재 정상적으로 작동하고 있습니다. 시간을 내서 죄송합니다! – Nicolas

답변

1

Someone know how to fix this crash or if is a new MonoTouch limitation/a bug in the last MonoTouch version?

당신은 현재 버전을 시도 및/또는 MonoTouch 개인 지원에 연락을 했습니까? 유일한 질문은 MonoTouch의 지원 담당자에게만 전달되는 것이지 여기서는 그렇지 않은 것 같습니다.

+0

아니요, MonoTouch 지원 사이트에서는 Stackoverflow :-)를 사용하는 것이 좋습니다. 나는 그것을 할 것이다. – Nicolas