[Addin]OnConnection的执行时机
近日移植了自己写的两个VS2005的外接程序到VS2008。因为有部分程序还要用VS2005维护,自己的工具两边都用上真舒服。突然想既然VS2008也能创建VS2005也能使用的外接程序,如果只用一份代码不是很好吗?
于是在统一代码的过程中,我发现VS2005的菜单项一直没有变化,似乎完全没有理会OnConnection函数。为了看看外接程序究竟在VS2005下的运行过程是怎样的,我想到了修改调试参数,在VS2008调用VS2005来调试。
我修改了项目的调试属性中“启动外部程序”,改用VS2005的Common7\IDE\devenv.exe时,发现调试属性里有一个“命令行参数”
/resetaddin DotnetkTools.Connect
难道,每次调试前都重置某个外部程序的连接?测试结果验证了我的想法。
这样看来,OnConnection函数并非MSDN文档所说的“因为每次加载外接程序时都会调用
"E:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe" /resetaddin "DotnetkTools.Connect"