//获取解决方案当前选中的项目
public static EnvDTE.Project GetSelectedProject(EnvDTE.DTE dteObject)
{
EnvDTE currentProject = null;
System.Array projs = null;
try
{
projs = (System.Array)dteObject.ActiveSolutionProjects;
}
catch
{
//When VS2010 is started from the command line
//we may catch a "Unspecified error" line
}
if (projs == null || projs.Length <1)
return null;
if (projs.GetValue(0) is EnvDTE.Project)
return (EnvDTE.Project)projs.GetValue(0);
return null;
}
//设置该项目的VC调试信息
void SetVCProjectDebugger(EnvDTE.Project proj)
{
VCProject vcProj = proj.Object as VCProject;
Configuration activeConf = proj.ConfigurationManager.ActiveConfiguration;
VCConfiguration curConfig = null;
foreach(VCConfiguration conf in vcProj.Configurations as IVCCollecton)
{
VCPlatform cur_platform = conf.Platform as VCPlatform;
if(cur_platform.Name == activeConf.PlatformName &&
conf.ConfiguratonName == actvieConf.ConfiguratonName)
{
curConfig = conf;
break;
}
}
VCDebugSettings dbgSettings = curConfig.DebugSettings as VCDebugSettings;
dbgSettings.DebuggerFlavor = eDebuggerTypes.eLocalDebugger;
dbgSettings.Command = "启动的文件";
}