0

問題:

を使用してMicrosoft Dynamics CRM 2011います。CRM に拡張機能 (カスタマー サービスの連絡先) を追加しました。

UIにもそれぞれいくつかの変更を加える必要があります。そのために、XRM.cs の再生成から変更を開始しました。

その一環として次のことを行いました。

C:\Users\<userName>\SDK\Bin>CrmSvcUtil.exe 
/codeCustomization:"Microsoft.Xrm.Client.CodeGeneration.CodeCustomization,    
Microsoft.Xrm.Client.CodeGeneration" /out:\Xrm003.cs 
/url:http://<url_for_server>/<organization_name>/XRMServices/2011/Organization.svc
/domain:"<domain_name>" /username:"<username>" /password:"<password>" 
/namespace:<desired_namespace_name> /serviceContextName:XrmServiceContext

これにより、Xrm003.cs. しかし、この新しく生成された Xrm003.cs を既存のものと比較すると、まったく触れていないエンティティにいくつかの違いがあることがわかります。

それらのいくつかを次に示します。

元のものは次のとおりです。

    /// <summary>
    /// Drop-down list for selecting the category of the account.
    /// </summary>
    [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("accountcategorycode")]
    public Microsoft.Xrm.Sdk.OptionSetValue AccountCategoryCode
    {
        get
        {
            return this.GetAttributeValue<Microsoft.Xrm.Sdk.OptionSetValue>("accountcategorycode");
        }
        set
        {
            this.OnPropertyChanging("AccountCategoryCode");
            this.SetAttributeValue("accountcategorycode", value);
            this.OnPropertyChanged("AccountCategoryCode");
        }
    }

新しいものには次のものがあります。

    /// <summary>
    /// Drop-down list for selecting the category of the account.
    /// </summary>
    [Microsoft.Xrm.Sdk.AttributeLogicalNameAttribute("accountcategorycode")]
    public System.Nullable<int> AccountCategoryCode
    {
        get
        {
            return this.GetAttributeValue<System.Nullable<int>>("accountcategorycode");
        }
        set
        {
            this.SetAttributeValue<Microsoft.Xrm.Sdk.OptionSetValue>("AccountCategoryCode", "accountcategorycode", value);
        }
    }

違いに気付くと、次の 2 つのことがわかります。

  1. のタイプAccountCategoryCodeMicrosoft.Xrm.Sdk.OptionSetValue(元の) とSystem.Nullable<int>再生成されます。

  2. 方法setが実装されています。

これは、他の多くのエンティティにも当てはまります。

なぜこれが XRM.cs の再生成のステップを逃したのか、それが原因なのか誰か教えてください。前もって感謝します!

編集: 原因 (?) と思われる 1 つのことは、これら 2 つの XRM.cs の間でロールアップ 16 を CRM に適用したことです。


問題を解決するためのソリューション:

私が回答としてマークしたダリルの回答を参照してください。

私は彼の言うことに従い、XRM.cs 再生成コマンドを次のように変更しました (次のコマンドは適切なコマンドであり、問​​題の解決に役立ちました)。

C:\Users\<userName>\SDK\Bin>CrmSvcUtil.exe 
/out:\Xrm003.cs 
/url:http://<url_for_server>/<organization_name>/XRMServices/2011/Organization.svc
/domain:"<domain_name>" /username:"<username>" /password:"<password>" 
/namespace:<desired_namespace_name> /serviceContextName:XrmServiceContext

結論:

Qで言及した問題を引き起こしていたコマンドで次のことを行いました。

/codeCustomization:"Microsoft.Xrm.Client.CodeGeneration.CodeCustomization,    
Microsoft.Xrm.Client.CodeGeneration"

私の問題は、削除するだけで解決しました。

4

1 に答える 1

1

そこには、何でもカスタムコード生成があり"Microsoft.Xrm.Client.CodeGeneration.CodeCustomization,Microsoft.Xrm.Client.CodeGeneration"ます。変わったのはこれくらいかな。プロパティ変更イベントをサポートしていないため、これはWindows RT で実行するように変更されたようです。

EarlyBound Generatorを試しましたか?

于 2014-09-23T19:49:21.403 に答える