<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Posts on Yven</title><link>http://www.yven.cn/posts/</link><description>Recent content in Posts on Yven</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Wed, 29 Jul 2026 08:36:41 +0000</lastBuildDate><atom:link href="http://www.yven.cn/posts/index.xml" rel="self" type="application/rss+xml"/><item><title>Dynamics 365 Word Templates 跨环境同步指南</title><link>http://www.yven.cn/posts/word-template-sync/</link><pubDate>Sun, 22 Jun 2025 00:00:00 +0000</pubDate><guid>http://www.yven.cn/posts/word-template-sync/</guid><description>&lt;h2 id="问题背景"&gt;问题背景&lt;/h2&gt;
&lt;p&gt;在 Dynamics 365 Customer Engagement 项目中，经常需要在开发、测试、生产等不同环境之间同步 &lt;strong&gt;Word Templates&lt;/strong&gt;（文档模板）。&lt;/p&gt;
&lt;p&gt;一个常见的问题是：&lt;strong&gt;同一实体在不同环境中的 ObjectTypeCode 可能不同&lt;/strong&gt;。Word Template 内部通过 ObjectTypeCode 来关联实体，如果直接导出导入，模板会因找不到对应的实体而失效。&lt;/p&gt;
&lt;h2 id="解决流程"&gt;解决流程&lt;/h2&gt;
&lt;h3 id="步骤一查询实体的-objecttypecode"&gt;步骤一：查询实体的 ObjectTypeCode&lt;/h3&gt;
&lt;p&gt;首先确认当前环境中目标实体的 ObjectTypeCode：&lt;/p&gt;
&lt;div class="code-block-wrapper"&gt;
 &lt;button class="copy-btn" onclick="copyCode(this)"&gt;复制&lt;/button&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;ObjectTypeCode&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;FROM&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Entity&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;WITH&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;NOLOCK&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;WHERE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;EntityName&amp;#39;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;&lt;blockquote&gt;
&lt;p&gt;将 &lt;code&gt;EntityName&lt;/code&gt; 替换为实际实体名称，如 &lt;code&gt;account&lt;/code&gt;、&lt;code&gt;contact&lt;/code&gt;、&lt;code&gt;new_customentity&lt;/code&gt; 等。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;分别在不同环境中执行此查询，记录各自的 ObjectTypeCode 值。&lt;/p&gt;
&lt;h3 id="步骤二导出-word-模板"&gt;步骤二：导出 Word 模板&lt;/h3&gt;
&lt;p&gt;在源环境中，通过 &lt;strong&gt;设置 → 模板 → 文档模板&lt;/strong&gt; 下载需要迁移的 Word Template（.docx 文件）。&lt;/p&gt;
&lt;h3 id="步骤三修改-docx-文件"&gt;步骤三：修改 .docx 文件&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;.docx&lt;/code&gt; 文件本质上是一个 &lt;strong&gt;ZIP 压缩包&lt;/strong&gt;，内部包含多个 XML 文件。我们需要解压并修改其中的 ObjectTypeCode 引用。&lt;/p&gt;
&lt;div class="code-block-wrapper"&gt;
 &lt;button class="copy-btn" onclick="copyCode(this)"&gt;复制&lt;/button&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 解压 docx 文件&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;unzip template.docx -d template_extracted/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 在 XML 文件中查找并替换 ObjectTypeCode&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 将源环境的 ObjectTypeCode 替换为目标环境的值&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;grep -r &lt;span class="s2"&gt;&amp;#34;ObjectTypeCode&amp;#34;&lt;/span&gt; template_extracted/&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;关键文件通常包括：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;word/document.xml&lt;/code&gt; — 主文档内容&lt;/li&gt;
&lt;li&gt;&lt;code&gt;word/settings.xml&lt;/code&gt; — 文档设置&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;使用文本编辑器打开这些 XML 文件，找到所有引用了源环境 ObjectTypeCode 的地方，替换为目标环境的值。&lt;/p&gt;
&lt;div class="code-block-wrapper"&gt;
 &lt;button class="copy-btn" onclick="copyCode(this)"&gt;复制&lt;/button&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-xml" data-lang="xml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c"&gt;&amp;lt;!-- 示例：将 10285 替换为目标环境的 ObjectTypeCode --&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;&amp;lt;ObjectTypeCode&amp;gt;&lt;/span&gt;10285&lt;span class="nt"&gt;&amp;lt;/ObjectTypeCode&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;&lt;h3 id="步骤四处理-customxml-引用"&gt;步骤四：处理 customXml 引用&lt;/h3&gt;
&lt;p&gt;如果 Word Template 引用了 XML 数据源，还需要修改 &lt;strong&gt;customXml&lt;/strong&gt; 文件夹中的两个文件：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;customXml/item1.xml&lt;/code&gt; — 自定义 XML 数据&lt;/li&gt;
&lt;li&gt;&lt;code&gt;customXml/itemProps1.xml&lt;/code&gt; — XML 属性定义&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="code-block-wrapper"&gt;
 &lt;button class="copy-btn" onclick="copyCode(this)"&gt;复制&lt;/button&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 查找 customXml 中的 ObjectTypeCode 引用&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;grep -r &lt;span class="s2"&gt;&amp;#34;ObjectTypeCode&amp;#34;&lt;/span&gt; template_extracted/customXml/&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;同样将 ObjectTypeCode 替换为目标环境的值。&lt;/p&gt;</description></item><item><title>PCF Multiselect Records 控件配置笔记</title><link>http://www.yven.cn/posts/pcf-multiselect-records/</link><pubDate>Sun, 22 Jun 2025 00:00:00 +0000</pubDate><guid>http://www.yven.cn/posts/pcf-multiselect-records/</guid><description>&lt;h2 id="背景"&gt;背景&lt;/h2&gt;
&lt;p&gt;在 Model-driven App 中，原生的 Lookup 字段只支持单选。当需要实现多选记录关联时，可以借助社区优秀的 PCF 控件来扩展。本文记录使用 &lt;strong&gt;Víctor Sánchez&lt;/strong&gt; 开发的 &lt;a href="https://github.com/victorsolaya/Multiselect_Records_PCF"&gt;Multiselect Records PCF&lt;/a&gt; 控件时，字段配置过程中遇到的关键问题。&lt;/p&gt;
&lt;h2 id="配置要点"&gt;配置要点&lt;/h2&gt;
&lt;h3 id="1-绑定字段类型选择"&gt;1. 绑定字段类型选择&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;不要直接绑定 Lookup 字段。&lt;/strong&gt; 需要新建一个 &lt;strong&gt;Multiple Lines of Text&lt;/strong&gt;（多行文本）类型字段来承载 PCF 控件的数据。&lt;/p&gt;
&lt;div class="code-block-wrapper"&gt;
 &lt;button class="copy-btn" onclick="copyCode(this)"&gt;复制&lt;/button&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;字段类型：Multiple Lines of Text → Text Area
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;绑定方式：将该字段拖入表单 → 配置为 PCF 控件&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;这样 PCF 控件会将选中的记录 ID 序列化存储在该文本字段中。&lt;/p&gt;
&lt;h3 id="2-field-filter-values-写法"&gt;2. Field Filter Values 写法&lt;/h3&gt;
&lt;p&gt;如果 Filter 条件绑定的是表单上的&lt;strong&gt;自定义 Lookup 字段&lt;/strong&gt;，参数写法需要在字段名后加 &lt;code&gt;_value&lt;/code&gt; 后缀：&lt;/p&gt;
&lt;div class="code-block-wrapper"&gt;
 &lt;button class="copy-btn" onclick="copyCode(this)"&gt;复制&lt;/button&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-javascript" data-lang="javascript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// 自定义 Lookup 字段「新客户」的 filter 参数
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;_new_accountid_value&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// 而非
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nx"&gt;_new_accountid&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;这是因为 Lookup 字段在 DOM 中的实际值存储在 &lt;code&gt;_value&lt;/code&gt; 属性中。&lt;/p&gt;
&lt;h3 id="3-columns-参数格式"&gt;3. Columns 参数格式&lt;/h3&gt;
&lt;p&gt;配置 Columns（显示列）时，&lt;strong&gt;Display Name 和 fieldName 缺一不可&lt;/strong&gt;，且格式必须严格：&lt;/p&gt;
&lt;div class="code-block-wrapper"&gt;
 &lt;button class="copy-btn" onclick="copyCode(this)"&gt;复制&lt;/button&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;Display Name&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;客户名称&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;fieldName&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;name&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;Display Name&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;客户编号&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;fieldName&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;accountnumber&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;Display Name&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;城市&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;#34;fieldName&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;address1_city&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;&lt;blockquote&gt;
&lt;p&gt;⚠️ 注意是 &lt;code&gt;Display Name&lt;/code&gt; 和 &lt;code&gt;fieldName&lt;/code&gt;，不能写成 &lt;code&gt;displayName&lt;/code&gt; 或 &lt;code&gt;display_name&lt;/code&gt;。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="参考资源"&gt;参考资源&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/victorsolaya/Multiselect_Records_PCF"&gt;Multiselect Records PCF - GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Víctor Sánchez 的原始实现&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="总结"&gt;总结&lt;/h2&gt;
&lt;p&gt;三个关键点：&lt;/p&gt;</description></item><item><title>🍌 你好，小黄人博客！</title><link>http://www.yven.cn/posts/hello-minions-blog/</link><pubDate>Wed, 01 Jan 2025 00:00:00 +0000</pubDate><guid>http://www.yven.cn/posts/hello-minions-blog/</guid><description>&lt;h2 id="欢迎来到我的技术博客"&gt;欢迎来到我的技术博客&lt;/h2&gt;
&lt;p&gt;经过一番折腾，这个基于 &lt;strong&gt;Hugo&lt;/strong&gt; + &lt;strong&gt;小黄人主题&lt;/strong&gt; 的个人技术博客终于上线了 🎉&lt;/p&gt;
&lt;p&gt;作为一个长期在微软技术生态中摸爬滚打的软件工程师，我一直想有一个地方来沉淀和分享自己的技术积累。这个博客就是这样一个空间。&lt;/p&gt;
&lt;h2 id="我会写些什么"&gt;我会写些什么&lt;/h2&gt;
&lt;p&gt;这里的内容将主要围绕以下几个方向：&lt;/p&gt;
&lt;h3 id="power-platform"&gt;Power Platform&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Power Apps&lt;/strong&gt;：Canvas App 和 Model-driven App 的实战技巧&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Power Automate&lt;/strong&gt;：Cloud Flow 和 Desktop Flow 的自动化场景&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Power BI&lt;/strong&gt;：数据可视化与嵌入式分析&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Dataverse&lt;/strong&gt;：数据建模、安全模型、API 集成&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="dynamics-365"&gt;Dynamics 365&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Customer Engagement&lt;/strong&gt;：Sales、Customer Service、Field Service 模块的定制开发&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;C# Plugin &amp;amp; Custom Workflow&lt;/strong&gt;：服务端扩展开发最佳实践&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;JavaScript Form Script&lt;/strong&gt;：前端表单脚本与 Ribbon 定制&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;System Integration&lt;/strong&gt;：D365 与 ERP、第三方系统的集成方案&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="net--azure"&gt;.NET &amp;amp; Azure&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;ASP.NET Core&lt;/strong&gt;：Web API 开发&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Azure Functions&lt;/strong&gt;：Serverless 集成场景&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DevOps&lt;/strong&gt;：CI/CD、ALM、Solution 管理&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="关于这个博客的技术栈"&gt;关于这个博客的技术栈&lt;/h2&gt;
&lt;p&gt;这个博客本身也是一个有趣的小项目：&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;技术&lt;/th&gt;
					&lt;th&gt;说明&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Hugo&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Go 语言编写的静态站点生成器，构建速度极快&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;自定义主题&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;从零手写的小黄人主题，SCSS + Vanilla JS&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;GitHub Pages&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;免费托管，自动部署&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Giscus&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;基于 GitHub Discussions 的评论系统&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;div class="code-block-wrapper"&gt;
 &lt;button class="copy-btn" onclick="copyCode(this)"&gt;复制&lt;/button&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-csharp" data-lang="csharp"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;// 作为一个 .NET 开发者，第一篇博文当然要有代码块 😎&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;MinionBlog&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kt"&gt;string&lt;/span&gt; &lt;span class="n"&gt;Author&lt;/span&gt; &lt;span class="p"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;Yven Yuan&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kt"&gt;string&lt;/span&gt; &lt;span class="n"&gt;Theme&lt;/span&gt; &lt;span class="p"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;Banana! 🍌&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="n"&gt;List&lt;/span&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="kt"&gt;string&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;Topics&lt;/span&gt; &lt;span class="p"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;Power Platform&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;Dynamics 365&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;&amp;#34;.NET&amp;#34;&lt;/span&gt; &lt;span class="p"&gt;};&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="k"&gt;void&lt;/span&gt; &lt;span class="n"&gt;StartBlogging&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;Console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;WriteLine&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;&amp;#34;Hello, Minions! 👁️&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;&lt;h2 id="写在最后"&gt;写在最后&lt;/h2&gt;
&lt;p&gt;&amp;ldquo;君子务本，本立而道生。&amp;rdquo; —— 技术这条路，扎实走好每一步。&lt;/p&gt;
&lt;p&gt;感谢你的到访，欢迎通过 &lt;a href="https://github.com/Yven-Yuan"&gt;GitHub&lt;/a&gt; 或邮件与我交流。一起成长 🚀&lt;/p&gt;</description></item></channel></rss>