这里是你如何能得到一个给定IVsHierarchy
我称之为ppHierarchy
下的有源IVsBuildableProjectCfg
:
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);
然后,您可以订阅使用建事件:
uint pdwCookie;
ppIVsBuildableProjectCfg.AdviseBuildStatusCallback(new MyBuildStatusCallback(), out pdwCookie);
凡MyBuildStatusCallback
是一个对象你创建的实现IVsBuildStatusCallback
。
我希望这有助于!
谢谢,但我特别询问了一个特定的界面。我已经有了一个vspackage,并且希望将它部署到一群开发人员;我宁愿不做宏观黑客。 – junkyspace