jun*_*ace 4 vsx events build visual-studio-2010 vspackage
我试图得到一个IVsBuildableProjectCfg对象的实例,但我不知道如何得到它.
我目前可以IVsHierarchy毫无问题地获得DTE项目和/或代表每个活动项目的对象.你如何获得IVsBuildableProjectCfg每个项目的实例?
理想情况下,我想挂钩每个项目的构建事件,以了解每个构建是否成功,以及挂钩到解决方案以查看整个构建是否被触发.
(我也尝试过使用DTE2.BuildEvents,但是当我运行调试器时,我的处理程序永远不会触发.)
谢谢!
这里是你如何能得到有效IVsBuildableProjectCfg对于给定的IVsHierarchy,我称之为ppHierarchy下面:
IVsSolutionBuildManager buildManager = (IVsSolutionBuildManager)GetService(typeof(SVsSolutionBuildManager));
IVsProjectCfg[] ppIVsProjectCfg = new IVsProjectCfg[1];
buildManager.FindActiveProjectCfg(IntPtr.Zero, IntPtr.Zero, ppHierarchy, ppIVsProjectCfg);
IVsBuildableProjectCfg ppIVsBuildableProjectCfg;
ppIVsProjectCfg[0].get_BuildableProjectCfg(out ppIVsBuildableProjectCfg);
Run Code Online (Sandbox Code Playgroud)
然后您可以使用以下命令订阅构建事件:
uint pdwCookie;
ppIVsBuildableProjectCfg.AdviseBuildStatusCallback(new MyBuildStatusCallback(), out pdwCookie);
Run Code Online (Sandbox Code Playgroud)
MyBuildStatusCallback您创建的实现对象在哪里IVsBuildStatusCallback.
我希望这有帮助!
| 归档时间: |
|
| 查看次数: |
965 次 |
| 最近记录: |