惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

G
Google Developers Blog
GbyAI
GbyAI
Y
Y Combinator Blog
The GitHub Blog
The GitHub Blog
B
Blog
博客园 - 叶小钗
V
Visual Studio Blog
小众软件
小众软件
阮一峰的网络日志
阮一峰的网络日志
博客园 - 聂微东
S
SegmentFault 最新的问题
Engineering at Meta
Engineering at Meta
博客园 - Franky
V
V2EX
人人都是产品经理
人人都是产品经理
H
Hackread – Cybersecurity News, Data Breaches, AI and More
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
月光博客
月光博客
IT之家
IT之家
T
The Blog of Author Tim Ferriss
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
C
Check Point Blog
N
Netflix TechBlog - Medium
博客园 - 【当耐特】

Donghai's Blog

使用DBeaver连接Dynamics 365 Dataverse | Donghai C# 技术备忘 - LINQ | Donghai 为Astro站点添加Google Analytics | Donghai C# 技术备忘 - LINQ - Donghai’s Blog 20260819 说些什么 | Donghai Dynamics 365 interview questions | Donghai C# 技术备忘 (1) | Donghai Dynamics 365 事件框架、事件执行管道 | Donghai 马拉松配速表 | Donghai 马拉松赛事分级 | Donghai 抖音创作日志(2026年) | Donghai 2026年跑步日志(5月开始) | Donghai 2FA | Donghai 初尝Github Actions | Donghai AstroPaper主题添加Waline评论 | Donghai Dynamics 365集中视图/聚焦视图/Focused View | Donghai AstroPaper主题添加GitHub风格的Markdown警告框 | Donghai AstroPaper主题自定义记录 | Donghai 我日常收藏的优质网站资源导航(持续更新) | Donghai 如何从归档页批量获取URL并提交到Bing Webmaster Tools | Donghai PaperMod 使用 Zeoseven 自定义网页字体 | Donghai 我常用的Prompt | Donghai Hugo默认时区导致本地预览文章不显示 | Donghai 通过手动提交工单解决Bing不收录网站问题 | Donghai 如何访问 Power BI 管理门户(Power BI Admin Portal) | Donghai 还在手敲时间戳?Win11输入法一个技巧,秒输当前时间戳 | Donghai 工作术语备忘录(持续更新) | Donghai 使用XrmToolBox导出安全角色表级权限到Excel | Donghai 24年的年终总结 | Donghai World笔记 | Donghai
使用 Office365 授权方式 在 .NET 控制台应用中连接 Dynamics...
Donghai · 2022-02-25 · via Donghai's Blog

本文演示如何使用 Office365 授权方式,在 .NET Framework 控制台应用中连接 Dynamics 365

Table of contents

Open Table of contents
  • 前言
  • Microsoft.Xrm.Tooling 支持的授权方式一览
  • 详细步骤
    • Step 1. 创建控制台应用程序
    • Step 2. 添加NuGet包
    • Step 3. 为 App.config 添加连接信息
    • Step 4. 添加测试代码
    • Step 5. 运行

前言

本文演示如何使用 Office365 授权方式,在 .NET Framework 控制台应用中连接 Dynamics 365

连接主要使用的是 Microsoft.Xrm.Tooling.Connector 包,这个包提供了多种身份认证方式,但是根据我的实施经验,目前最常用的是以下2种认证方式

  • Office365(用户名 + 密码)
  • ClientSecret(应用程序 + 密钥)
NameValueDescription
Office3654Office365 base login process
ClientSecret7Client Id + Client Secret Auth
InvalidConnection-1Invalid connection
AD0Active Directory Auth
Live1Live Auth
IFD2SPLA Auth
Claims3CLAIMS based Auth
OAuth5OAuth based Auth
Certificate6Certificate based Auth
ExternalTokenManagement99Host managed token

详细步骤

Step 1. 创建控制台应用程序

打开 Visual Studio —> 创建新项目,选择 “控制台应用(.NET Framework)”

新建项目-01

输入项目名称 —> 选择 “.NET Framework 版本” —> 点击 “创建”

新建项目-02

Step 2. 添加NuGet包

为项目安装以下依赖:

  1. Microsoft.CrmSdk.CoreAssemblies
  2. System.Configuration.ConfigurationManage

下面是具体的操作步骤说明和截图:

项目 —> 右键 —> 管理 NuGet 程序包 —>

为项目添加依赖包-01

浏览 —> 搜索 —> 安装

为项目添加依赖包-02

Step 3. 为 App.config 添加连接信息

在 App.config 文件中添加连接字符串配置:

  • 打开 App.config 文件
  • <configuration> 节点下添加 <connectionStrings>
  • 替换以下占位符为实际值:
 <connectionStrings>
  <!-- Dev 环境(Office365 认证方式) -->
  <add name="Dev-Office365"
     connectionString="AuthType=Office365;
     Url=urlofyourdynamics365instance;
     Username=yourusername;
     Password=yourpassword;" />
 </connectionStrings>App.config

需要替换的值:

  • https://xxx.crm.dynamics.cn/ → 您的Dynamics 365环境URL
  • yourusername → 登录用户名(通常是邮箱地址)
  • yourpassword → 登录密码

为 App.config 文件添加连接信息

Step 4. 添加测试代码

在 Program.cs 中:

引用命名空间

using Microsoft.Crm.Sdk.Messages;
using Microsoft.Xrm.Sdk;
using Microsoft.Xrm.Tooling.Connector;
using System;
using System.Configuration;Program.cs

Main 方法代码

string connectionStr = ConfigurationManager.ConnectionStrings["Dev-ClientSecret"].ConnectionString;
CrmServiceClient client = new CrmServiceClient(connectionStr);
if (client.IsReady)
{
    IOrganizationService orgServiceorgService = client;
    // 使用 WhoAmI 进行测试
    WhoAmIResponse resTest = (WhoAmIResponse)orgServiceorgService.Execute(new WhoAmIRequest());
    Console.Write($"UserId: {resTest.UserId}");
    Console.Read();
}
else
{
    throw new Exception(client.LastCrmError);
}Program.cs

添加测试代码

Step 5. 运行

  1. 将当前项目设为 启动项目

设当前项目为启动项目

  1. 使用 F5 或点击 “启动” 按钮

启动测试项目

  1. 如果程序成功输出 UserId,说明:
  • ClientSecret 认证成功
  • 已成功连接 Dynamics 365
  • 可继续使用 IOrganizationService 进行 CRUD 操作

打印用户的Id

(完)

如果这篇文章刚好帮到了你,欢迎请我喝杯咖啡