ISSUE:
我正在使用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与现有的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);
}
}
如果您发现差异,您将看到两件事:
AccountCategoryCode
的类型为Microsoft.Xrm.Sdk.OptionSetValue
(原始版本)和System.Nullable<int>
重新生成的内容。
实施set
的方式。
这也适用于许多其他实体。
任何人都可以让我知道为什么这是因为或者我错过了重生XRM.cs的任何步骤?提前谢谢!
编辑: 可能是原因(?)的一件事是:我们在这两个XRM.c之间将Rollup 16应用于CRM。
解决问题的解决方案:
请参阅Daryl的回答,我已将其标记为答案。
我按照他的说法对我的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"
我的问题只是通过删除来解决。
答案 0 :(得分:1)
您可以使用"Microsoft.Xrm.Client.CodeGeneration.CodeCustomization,Microsoft.Xrm.Client.CodeGeneration"
生成一些自定义代码。我猜这就是改变了。它几乎看起来已经改变为在Windows RT中运行,因为它doesn't support the property changing events。
您是否尝试过EarlyBound Generator?