您的位置:首页 > 其它

Dynamics CRM 导入解决方案时如何做到不覆盖目标系统的站点地图

2017-12-20 09:02 363 查看
      解决方案的导入导出有两种模式,一种是托管,一种是非托管,在实际的项目中,不知道各位用哪一种多。如果我们的解决方案中包含有站点地图,不做任何设置的情况下,肯定是覆盖目标环境的站点地图的。
     如果大家关注过powerobject这个网站,或者试用过他们的产品,导入他们的解决方案后会发现,是动态的添加站点地图块,而不是覆盖,那这是怎么做到的呢。



    微软的官方文档及SDK里都没有对这块的说明,如果你有心去解压过托管解决方案看过,你会发现解决出来的sitemap和非托管的解决方案中的sitemap是不同的,多了下面截图中的两个属性,ordinalvalue和solutionaction。



    我们再去sdk中查下,完全没有这两个属性的说明,网上也没有这两个属性的解释,但从字面意思大体能意会出来,solutionaction的意思是说导入目标系统中后是对具有相同的Id和ResourceId的area是修改、移除、还是添加,而ordinalvalue是次序,设置显示在站点地图上的第几个。
    按照上面我截图中的示例,我是要新增一个NewArea,但不想去修改或者移除目标系统的站点地图块,那只需将不需要的删除,保留需要添加的area,然后设置次序为4,保存并把解决方案包压缩后导入目标系统即可。



    上述方法只对托管解决方案有效,因为两个属性只存在于托管解决方案中,如果你编辑非托管解决方案中的sitemap添加这个两个属性后再导入会提示xml无效。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐