演练:使用开发人员扩展构建连接到 Microsoft Dynamics CRM 2015 的控制台应用程序

 

发布日期: 2016年11月

适用于: Dynamics CRM 2015

本演练演示如何使用开发人员扩展编写一个连接到 Microsoft Dynamics CRM 2015 的简单控制台应用程序,并创建一条联系人记录。

您可以在 Walkthroughs\Portal\ConsoleAppWalkthrough 文件夹中找到本演练产生的示例代码。

本主题内容

生成早期绑定类型

在 Visual Studio 中创建新的控制台应用程序项目

生成早期绑定类型

  1. 使用“Microsoft.Xrm.Client.CodeGeneration”扩展运行 CrmSvcUtil.exe 工具,以便生成您的实体类和服务上下文。 下面的示例命令创建一个名为 Xrm.cs 并指向 Microsoft Dynamics 365 实例的文件。 请注意,在运行该命令时,Microsoft.Xrm.Client.CodeGeneration.dll 文件必须与 CrmSvcUtil.exe 文件位于同一目录中,或者位于系统全局程序集缓存中。 显示的第一个命令针对本地组织。 第二个命令针对 CRM Online 组织。 两个命令应作为一个命令行执行,没有换行符。

        CrmSvcUtil.exe
        /codeCustomization:"Microsoft.Xrm.Client.CodeGeneration.CodeCustomization, Microsoft.Xrm.Client.CodeGeneration"/out:Xrm.cs /url:http://<myserver>/<myorg>/XRMServices/2011/Organization.svc 
        /domain:<mydomain> /username:<myusername> /password:<mypassword> /namespace:Xrm /serviceContextName:XrmServiceContext
    
        CrmSvcUtil.exe
        /codeCustomization:"Microsoft.Xrm.Client.CodeGeneration.CodeCustomization, Microsoft.Xrm.Client.CodeGeneration"
        /out:Xrm.cs /url:https://<mydomain>.api.crm.dynamics.com/XRMServices/2011/Organization.svc
        /username:<myusername>@<mydomain>.onmicrosoft.com /password:<mypassword> /namespace:Xrm /serviceContextName:XrmServiceContext
    

    提示

    CrmSvcUtil 工具在 SDK 下载的 Bin 文件夹中,或通过安装 Microsoft.CrmSdk.CoreToolsNuGet 包获取。

在 Visual Studio 中创建新的控制台应用程序项目

  1. 创建一个名为“ConsoleAppWalkthrough”的新的控制台应用程序。 如果 .NET Framework 4.5.2 尚未安装,您可以从安装 .NET Framework 获取开发人员包。

    在 Visual Studio 中创建项目

  2. 添加以下来自 SDK\bin 文件夹的引用。 您可以通过安装 Microsoft.CrmSdk.ExtensionsNuGet 包来跳过此步骤和下一步骤。

    • AntiXSSLibrary.dll

    • Microsoft.Crm.Sdk.Proxy.dll

    • Microsoft.Xrm.Client.dll

    • Microsoft.Xrm.Portal.dll

    • Microsoft.Xrm.Portal.Files.dll

    • Microsoft.Xrm.Sdk.dll

  3. 添加以下来自 .NET 的引用。

    • System.IdentityModel.dll

    • Microsoft.ServiceBus.dll

    • System.Data.Services.dll

    • System.Data.Services.Client.dll

    • System.Runtime.Serialization.dll

  4. 确保控制台项目指定 .NET Framework 4.5.2 作为目标框架而非 .NET Framework 4.5.2 客户端配置文件。 通过选择解决方案资源管理器中的“ConsoleAppWalkthrough”项目,并单击“Alt-Enter”来检查该项目的属性。

    设置目标框架

  5. 在 Visual Studio 中右键单击该项目,单击“添加”,然后单击“现有项”。

  6. 选择在生成早期绑定类型时创建的“xrm.cs”文件。

  7. 再次右键单击您的项目,单击“添加”,然后单击“新项目”。

  8. 从选项中选择“应用程序配置文件”,然后单击“添加”。

  9. 使用您的特定连接字符串编辑 App.config 配置文件。

    <?xml version="1.0"?>
    <configuration>
      <configSections>
        <section name="microsoft.xrm.client" type="Microsoft.Xrm.Client.Configuration.CrmSection, Microsoft.Xrm.Client"/>
      </configSections>
      <connectionStrings>   <add name="Xrm" connectionString="Server=http://crmserver/contoso; Domain=CONTOSO; Username=Administrator;Password=pass@word1"/></connectionStrings>
      <microsoft.xrm.client>
        <contexts default="Xrm">
          <add name="Xrm" type="Xrm.XrmServiceContext, Xrm" connectionStringName="Xrm"/>
        </contexts>
      </microsoft.xrm.client>
      <startup>
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2"/>
      </startup>
    </configuration>
    
  10. 将一条 using 语句添加到您在创建项目时在步骤 1 中使用的命名空间(本例中为“Xrm”)。

  11. 将下面的代码添加到程序类:

    static void Main(string[] args)
    {
        var xrm = new XrmServiceContext("Xrm");
    
        WriteExampleContacts(xrm);
    
        //Create a new contact called Allison Brown.
        var allisonBrown = new Xrm.Contact
        {
            FirstName = "Allison",
            LastName = "Brown",
            Address1_Line1 = "23 Market St.",
            Address1_City = "Sammamish",
            Address1_StateOrProvince = "MT",
            Address1_PostalCode = "99999",
            Telephone1 = "12345678",
            EMailAddress1 = "allison.brown@example.com"
        };
    
        xrm.AddObject(allisonBrown);
        xrm.SaveChanges();
    
        WriteExampleContacts(xrm);
    
        Console.WriteLine("Press any key to exit.");
        Console.ReadKey();
    }
    
    /// <summary>
    /// Use all contacts where the email address ends in @example.com.
    /// </summary>
    private static void WriteExampleContacts(XrmServiceContext xrm)
    {
        var exampleContacts = xrm.ContactSet
            .Where(c => c.EMailAddress1.EndsWith("@example.com"));
    
        //Write the example contacts.
        foreach (var contact in exampleContacts)
        {
            Console.WriteLine(contact.FullName);
        }
    }
    
  12. 调试并测试解决方案。 这将在您的 Dynamics 365 组织中创建一个联系人。

另请参阅

Microsoft Dynamics CRM 2015 门户开发人员指南
Dynamics CRM 2015 的门户演练
演练:使用开发人员扩展构建连接到 Microsoft Dynamics CRM 2015 的 Web 应用程序

© 2017 Microsoft。 保留所有权利。 版权