我们正在为Visual Studio开发插件。它在Solution Explorer上下文菜单中创建项目。 问题是当我们删除插件时,菜单项仍然存在但没有图标。当我点击它时,VS建议删除该命令。见截图。
如何卸下它们以取消命令?
目前我只是在卸载过程中从“Visual Studio 2012 \ Addins”文件夹中删除了插件文件。
我正在使用Connect类:IDTExtensibility2
答案 0 :(得分:1)
一种选择是使用以下命令在卸载时运行.vbs脚本:
Set dte = CreateObject("VisualStudio.DTE.11.0")
dte.Commands.Item("your_command_name").Delete
dte.Quit
答案 1 :(得分:0)
我找到了帮助here 在.addin文件中:
<CommandPreload>0</CommandPreload>
在Connect类中:
public void OnDisconnection(ext_DisconnectMode disconnectMode, ref Array custom)
{
switch (disconnectMode)
{
case ext_DisconnectMode.ext_dm_HostShutdown:
case ext_DisconnectMode.ext_dm_UserClosed:
Command command = applicationObject.Commands.Item(addInInstance.ProgID + "." + addWebDAVServerCommandId);
if (command != null)
{
command.Delete();
}
break;
}
}
public void OnConnection(object application, ext_ConnectMode connectMode, object addInInst, ref Array custom)
{
applicationObject = (DTE2)application;
addInInstance = (AddIn)addInInst;
// We should never get here, this is temporary UI
if (connectMode == ext_ConnectMode.ext_cm_UISetup)
return;