【问题标题】:How do I remove Dynamics CRM sitemap customizations?如何删除 Dynamics CRM 站点地图自定义项?
【发布时间】:2018-01-12 05:33:37
【问题描述】:

我有一个可以从 Microsoft Dynamics CRM 安装/卸载的托管插件。
在插件的customizations.xml 中,我包含了一小部分站点地图自定义,特别是一个附加组并添加到了sidenav 区域。

但是,我遇到的问题是,当我卸载插件时,站点地图自定义项不会被删除。附加组仍然作为 sidenav 区域的一部分,但现在它会导致站点地图错误,因为它使用的必要网络资源丢失(它们在插件卸载期间被删除)。

当我卸载插件时,有什么方法可以强制站点地图恢复为默认值,或者可能将自定义标记为特定于插件,以便在卸载时将其删除?

【问题讨论】:

  • 我可能是错的,但我认为您必须更正站点地图,然后重新导入。否则,无论您是否卸载非托管解决方案,旧站点地图都会保留。如果您真的希望站点地图能够与卸载一起使用,您也许可以尝试使用托管解决方案。

标签: dynamics-crm dynamics-crm-2011 microsoft-dynamics crm-sitemap


【解决方案1】:

实际上,根据 CRM 2011 SDK 文档,作为托管解决方案一部分的站点地图修改应在托管解决方案被删除时自动从系统中删除。引用自 SDK 文档:

当解决方案打包为托管时,会比较 SiteMap XML 到原始的 SiteMap XML 和对 站点地图。只有差异包含在托管解决方案中。 这些差异包括更改、移动、添加或 删除 .... 稍后,如果卸载托管解决方案, 与托管解决方案一起导入的 SiteMap XML 将是 引用以删除该托管引入的更改 解决方案。然后计算一个新的活动站点地图。

例如,仅包含一个添加组的解决方案的自定义.xml 将包含类似于此的 XML:

<Group Id="TestGroup" IsProfile="0" ordinalvalue="6" solutionaction="Added">
          <Titles>
            <Title Title="Examplegroup" LCID="1033" />
          </Titles>
          <SubArea Id="new_webresource" PassParams="1" Url="$webresource:new_webresource" ordinalvalue="0">
            <Titles>
              <Title LCID="1033" Title="Example" />
            </Titles>
          </SubArea>
        </Group>

solutionaction 属性指示系统在删除托管解决方案时从完整的自定义文件中删除 XML 的 sn-p。简而言之,它应该按照你想要的方式行事......

当然,以上仅适用于托管解决方案。

这对您不起作用似乎表明您系统的customization.xml 已以某种方式损坏。我建议导出站点地图,删除对错误元素的任何引用,然后重新导入。

还应注意,您通常需要在发布站点地图更新后对 Web 浏览器进行硬刷新,以便删除的导航元素消失。否则很容易遇到与您描述的类似的问题。

【讨论】:

    【解决方案2】:

    您是否尝试过来自更棒的 Tanguy 的 XrmToolbox 的超棒的 SiteMap 编辑器?

    可以在这里找到:http://xrmtoolbox.codeplex.com/

    重置方法如下

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-10-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多