我有一个自定义功能,它是文档库中的一个编辑控制块 (ECB) 操作,它被部署为解决方案包 (WSP)。当您按下文件旁边的下拉列表时,您会看到该功能,选择ECB操作时,用户将重定向到自定义应用程序页面。
我允许将此功能安装到所有 4 个不同的范围:Farm、WebApplication、Site 和 Web。它们中的每一个都将位于不同的解决方案包中,但共享相同的 FeatureId、SolutionId 等。假设一次仅将功能安装到一个范围内。如果管理员部署它、激活它,并且如果我们他/她想要更改范围、停用它,那么一切都会正常运行。如果由于某种原因管理员没有首先将其停用,则 ECB 操作将在文档库中具有重复条目。
例如,假设我们将它安装为站点范围(站点集),然后决定我们希望它在农场范围中而不是先停用它,而只是转到解决方案管理并收回并删除它。如果我们查看以前可用的网站集,我们看不到欧洲央行的行动。
如果我们随后添加 Farm 范围解决方案包并部署它,我们现在将在网站集中看到 ECB 操作,即使我们尚未部署它并且 feature.xml ActivateOnDefault 属性设置为 false。如果我们继续激活它,我们现在将看到两个欧洲央行的行动。
有没有人有任何想法?我在下面添加了 feature.xml 和 elements.xml。
TIA,马格努斯
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
RegistrationType="List" RegistrationId="101"
Location="EditControlBlock" Sequence="300"
ImageUrl="/_layouts/images/MyFeature/MyOtherPic.gif" Title="My Feature"
Description="My ECB feature" >