实际上,根据CRM 2011 SDK文档,托管解决方案被删除时,托管解决方案的一部分应该自动从系统中删除。从SDK文档引用:
当作为管理的溶液被包装时,网站地图XML比较 到原始站点地图XML并向 网站地图进行的任何其他定制。托管解决方案中只包含差异。 这些差异包括已更改,移动,添加或已删除的项目....稍后,如果托管解决方案已卸载,则使用托管解决方案导入的 SiteMap XML将被引用为 ,以删除随此引入的更改管理 解决方案。然后计算一个新的活动SiteMap。
例如,含有仅仅是添加组将包含类似于此XML的溶液的customization.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的片断当托管的解决方案被删除时的customization.xml。总之,它应该行为方式,你想要它...
当然,上述只适用于托管解决方案。
这对你不起作用似乎表明你的系统的customization.xml已经被破坏了。我会建议导出站点地图,删除对错误元素的引用,然后重新导入。
还应该注意的是,为了使已删除的导航元素消失,您通常需要在向站点地图发布更新后,对Web浏览器进行硬刷新。否则,很容易遇到类似于你描述的问题。
我可能是错的,但我认为你必须更正站点地图,然后重新导入。否则,无论您是否卸载不受管理的解决方案,旧的站点地图都会保留。如果您确实希望该站点地图能够与卸载一起使用,您可能可以使用托管解决方案。 –