2011-01-05 56 views
1

我想现在如何重新启动一个VSpackage,我的意思是如果它从零加载。我创建了一个与实际解决方案一起工作的扩展,当我需要更改为其他解决方案时,扩展的状态仍然存在,而我不想那样做。直到现在,我关闭了IDE,然后再次以其原始状态中的扩展名启动它。有可能在不关闭IDE的情况下进行重置会更好。重新启动一个VSpackage,就像它刚刚加载一样

回答

2

一旦Visual Studio加载您的VSPackage二进制文件,它将保持加载到内存中,直到进程结束。这只是Visual Studio体系结构的一部分。

您应该更改您的扩展,以处理Visual Studio用户在单个会话期间随时间打开多个解决方案的事实。

您可以通过设计您的对象以使其与特定解决方案相关联来实现此目的。

您可以通过IVsSolutionEvents interface在Visual Studio包中订阅解决方案事件。当您收到解决方案已关闭的通知时,请销毁与该解决方案关联的对象。

+0

谢谢,好主意,我要去哪里搜索以及如何添加处理程序到“关闭解决方案事件”,如果您知道哪里请给我一个提示。要初始化工具我检查解决方案是否开放,但关闭是一个坏主意不断检查该状态。我需要找到那个事件。 – mjsr 2011-02-07 12:03:52

+2

您正在寻找的是IVsSolution活动。我在答案中添加了文档的链接。 – 2011-02-08 14:33:45

相关问题