今天看到勇哥的博客介绍了两个request指令用来导出实体的Ribbon XML,在没有工具之前编辑ribbon都是手工导出xml然后编辑的对于很多一开始接触CRM就用工具的人可能不是很熟悉。查了下这两个指令2011的时候就已经有了以前还真是没注意到过,所以也亲自上手试试。
两个request分别是RetrieveEntityRibbonRequest和RetrieveApplicationRibbonRequest,前者是导出单个实体ribbon xml,后者是导出所有的实体ribbon xml,这两个request引用的命名空间是Microsoft.Crm.Sdk.Messages,引用的assembly是Microsoft.Crm.Sdk.Proxy,该dll可以在sdk的bin目录下可以找到。具体的示例代码sdk的chm中有(直接搜索着两个request的名字即可),或者是SDK的SampleCode中也有具体路径如下:“SDKSampleCodeCSClientRibbonExportRibbonXml”,需要注意的是里面有个unzipRibbon的方法,是用来解压文件的,这个方法里用到了一个 System.IO.Packaging的命名空间,不要为是 System.IO下面的噢,具体可看下图。
我新建了个测试实体,导出后的xml是这样的。
刚开始看到这两个request有点惊喜以为以后可以省去导出解决方案的麻烦,通过代码导出后直接编辑再倒入系统就行了,因为你知道导出解决方案是件很麻烦的事,但最后发现然并卵导出来只是看看的,并没有实际的什么用途,至少我还没发现有什么实际的用途。之所以写本篇也只是告诉你有这么个东西以及我在实践的过程中碰到的问题,仅此而已。