Outlook 2010插件-NewExplorer从不启动

本文关键字:启动 -NewExplorer 2010 插件 Outlook | 更新日期: 2023-09-27 18:26:33

由于某些原因,在我的应用程序中,我的FolderSwitch在与应用程序一起打开的主资源管理器上工作,但NewExplorer事件从未启动,因此FolderSwitch事件显然不会在新的资源管理器中启动。

我不明白为什么这个活动没有启动。

private List<_Outlook.Explorer> ListOfExplorerWindows = new List<_Outlook.Explorer> { };
private _Outlook.Application Application;
public void OnConnection(object Application, Extensibility.ext_ConnectMode ConnectMode, object AddInInst, ref Array custom)
{
    this.Application = (_Outlook.Application)Application;
}
public void OnStartupComplete(ref Array custom)
{
    _Outlook.Explorer Explorer = this.Application.ActiveExplorer();
    Explorer.FolderSwitch += new _Outlook.ExplorerEvents_10_FolderSwitchEventHandler(Explorer_FolderSwitch);
    ListOfExplorerWindows.Add(Explorer);
    this.Application.Explorers.NewExplorer += new _Outlook.ExplorersEvents_NewExplorerEventHandler(Explorers_NewExplorer);
}
private void Explorers_NewExplorer(_Outlook.Explorer Explorer)
{
    Explorer.FolderSwitch += new _Outlook.ExplorerEvents_10_FolderSwitchEventHandler(Explorer_FolderSwitch);
    ListOfExplorerWindows.Add(Explorer);
}

Outlook 2010插件-NewExplorer从不启动

对于使用VSTO时要保留的任何事件,都需要保留一个类级成员(ExplorerApplicationInspectorCommandBar等),以防止GC线程删除它们。这是一个资源优化,但也可能是一个痛苦的教训。

请参阅MSDN论坛中有关活动生存期的相关帖子或类似的SO帖子。