添加Word上下文菜单扩展点后加载项在“我的加载项”中消失问题求教
Word加载项添加上下文菜单后消失的问题
我参照Microsoft Docs的示例在Word上下文菜单中添加按钮,清单文件验证有效,且ContextMenu ExtensionPoint放置在PrimaryCommandSurface ExtensionPoint下方。但添加该ContextMenu配置后,加载项不再显示在“我的加载项”中;移除OfficeMenu内的Control内容后,加载项又能正常出现。所有resid均已正确映射到Resources中声明的资源。
对应的清单代码片段:
<ExtensionPoint xsi:type="ContextMenu"> <OfficeMenu id="ContextMenuText"> <Control xsi:type="Button" id="Button2Id1"> <Label resid="residLabel2" /> <Supertip> <Title resid="residLabel" /> <Description resid="residToolTip" /> </Supertip> <Icon> <bt:Image size="16" resid="icon2_32x32" /> <bt:Image size="32" resid="icon2_32x32" /> <bt:Image size="80" resid="icon2_32x32" /> </Icon> <Action xsi:type="ShowTaskpane"> <SourceLocation resid="residUnitConverterUrl" /> </Action> </Control> </OfficeMenu> </ExtensionPoint>
可能的解决方向:
- 检查控件ID唯一性:确保
Button2Id1没有和清单中其他控件的ID重复,Office加载项要求所有控件ID全局唯一,重复会直接导致加载项注册失败。 - 验证图标资源:虽然resid映射正确,但要确认对应图片的尺寸(必须是16x16、32x32、80x80)、格式(PNG)和透明度是否符合Office规范,损坏或不符合要求的图标会让加载项无法正常显示。
- 确认ExtensionPoint层级:ContextMenu ExtensionPoint必须和PrimaryCommandSurface同级,放在
<VersionOverrides><Host><DesktopFormFactor><ExtensionPoints>节点下,不能嵌套在PrimaryCommandSurface内部。 - 检查版本兼容性:在清单的
<Requirements>节点中,确保配置了支持上下文菜单的最低Office版本(比如Word 2016及以上,对应SetVersion 1.3),版本要求过低会引发功能兼容问题。 - 清除Office缓存:旧的加载项缓存可能导致异常,手动清除后重新加载:
- Windows:删除
%LOCALAPPDATA%\Microsoft\Office\16.0\Wef\下的所有文件 - Mac:删除
~/Library/Containers/com.microsoft.Word/Data/Library/Application Support/Microsoft/Office/16.0/Wef/下的文件
- Windows:删除
内容的提问来源于stack exchange,提问作者Arlind
相关产品推荐
相关产品推荐

