我的加载项如何检测加载解决方案的时间?我知道在DTE模型中必定会有某些事件,但我找不到它.我的加载项在Visual Studio加载时加载,但它取决于打开的解决方案.我不想把它变成一个解决方案加载项,直到MS在COM上失去了他们的生病固定,因为解决方案加载项必须是COM组件.
以下是使用C#注册事件处理的方法:
_solutionEvents = _applicationObject.Events.SolutionEvents; _solutionEvents.Opened += new _dispSolutionEvents_OpenedEventHandler(SolutionOpened); _solutionEvents.AfterClosing += new _dispSolutionEvents_AfterClosingEventHandler(SolutionClosed);
另请注意,当用户通过双击解决方案文件打开Visual Studio时,您将无法获得解决方案打开的事件.您应该检查OnStartupComplete方法中的_applicationObject.Solution是否为空以正确处理此情况.