将CRM代理类生成为单独的文件

c# proxy dynamics-crm-2011 dynamics-crm-4

997 观看

2回复

119 作者的声誉

我一直在使用引用Dynamics CRM租户的旧程序集。程序集包含(除其他外)租户的代理类。我需要将代理类更新到最新版本。

我过去曾使用crmsvcutil.exe为租户生成代理类文件,但在此程序集中,每个类都在各自的单独文件中。例如,有一个'person'c-sharp文件,其中包含person实体和get / set方法的变量。

当前文件采用以下格式:

using System;
using System.CodeDom.Compiler;
using System.ComponentModel;
using System.Diagnostics;
using System.Xml.Serialization;
namespace CRM2011.Proxy.Organisation
{
    [GeneratedCode("System.Xml", "4.0.30319.1"), DesignerCategory("code"), DebuggerStepThrough, XmlType(Namespace = "http://schemas.microsoft.com/crm/2007/WebServices")]
    [Serializable]
public class thr_offer : BusinessEntity
{
    private Lookup createdbyField;
    private CrmDateTime createdonField;
    //More variables here
    public Lookup createdby
    {
        get
        {
            return this.createdbyField;
        }
        set
        {
            this.createdbyField = value;
        }
    }
    public CrmDateTime createdon
    {
        get
        {
            return this.createdonField;
        }
        set
        {
            this.createdonField = value;
        }
    }
    //More get/set methods here
}

这些似乎是由工具生成的,但我不知道有任何工具会这样做。如果我可以生成这些文件而不是crmsvcutil.exe生成的怪异文件,那么它将使开发变得更加容易。

有任何想法吗?

作者: Irish Yobbo 的来源 发布者: 2014 年 2 月 4 日

回应 (2)


4

12884 作者的声誉

决定

这些文件是使用CRM 4.0 SDK(CrmDateTime响铃)生成的。

使用CrmSvcUtil.exeCRM 4.0 SDK,可以生成单独的文件,如下所示:

http://msdn.microsoft.com/en-us/library/ff681563.aspx

/ out参数

确定.cs或.xml输出文件的名称以及每个实体是否有一个文件或一个文件。它可能包括完整路径。如果指定的名称不以.cs或.xml结尾,则CrmSvcUtil会将系统中每个实体的单个.cs文件写入指定的文件夹。例如,/ out:MyClasses将每个实体的类文件(.cs)输出到名为MyClasses的文件夹。但是,/ out:MyClasses.cs输出包含所有实体的类文件(MyClasses.cs)。

此“功能”已从CRM 2011 SDK中删除(如果您尝试指定没有文件扩展名的名称,它仍将生成单个文件)

作者: Guido Preite 发布者: 04.02.2014 11:24

1

14440 作者的声誉

您必须创建一个拼接器,在它们生成单个文件后为您拼接实体,或创建CrmSvcUtil扩展,为您执行此基本行为更改。

编辑XrmToolBox中的早期绑定生成器通过配置执行的操作。

作者: Daryl 发布者: 04.02.2014 04:09
32x32