2017-02-07 11 views
-6

問題は、Xrm.Tooling.ConnectorによってMS CRM 2016に接続されています。バグがあります。接続メソッドOrganizationServiceProxyからオブジェクトを取得するとnullです。MS CRM 2016 Microsoft.Xrm.Tooling.Connector OrganizationServiceProxyがnull

私たちはこの問題を2日間解決しましたが、最終的に問題はセクションsystem.serviceModelの無効なapp.configにありました。すべてのエラーを修復すると、すべてが正常だった。このソリューションが他の人に役立つことを願っています。

+1

これは質問ですか?答え?声明?上記のすべて? – dynamicallyCRM

+1

質問として投稿された回答のようですので、この質問を議論の対象外とすることにしました。 – Alex

+0

sdkによるms crmへの接続に関する問題の解決策です。バグがあります。 Microsoftによってcrmに接続しようとすると。 Xrm.Tooling.Connectorオブジェクトを取得し、OrganziationServiceProxyがnullです。私はcrm sdkのバグです。 –

答えて

0

接続オブジェクトに最後のCRMエラーが見つかりました。あなたは反射によってメッセージを得ることができます。

public void TestInit() 
    { 
     var str = "Url=https://*****; Domain=***; Username=***; Password=****; authtype=AD;"; 
     mysvc = new CrmServiceClient(str); 

     var crmConSvc = GetInstanceField(mysvc.GetType(), mysvc, "CrmConnectionService"); 
     var logEntry = GetInstanceField(crmConSvc.GetType(), crmConSvc, "logEntry"); 
     var lastErrorMethod = GetInstanceMethod(logEntry.GetType(), logEntry, "get_LastError"); 

     var message = lastErrorMethod.Invoke(logEntry, null); 
     Console.WriteLine(message); 
    } 

    internal static object GetInstanceField(Type type, object instance, string fieldName) 
    { 
     BindingFlags bindFlags = BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic 
      | BindingFlags.Static ; 
     FieldInfo field = type.GetField(fieldName, bindFlags); 

     return field?.GetValue(instance); 
    } 

    internal static MethodInfo GetInstanceMethod(Type type, object instance, string methodName) 
    { 
     BindingFlags bindFlags = BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic 
      | BindingFlags.Static; 
     MethodInfo met = type.GetMethod(methodName, bindFlags); 

     return met; 
    } 
関連する問題