Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Visual Studio DTE-如何以编程方式选择多个项目_C#_Visual Studio_Envdte - Fatal编程技术网

C# Visual Studio DTE-如何以编程方式选择多个项目

C# Visual Studio DTE-如何以编程方式选择多个项目,c#,visual-studio,envdte,C#,Visual Studio,Envdte,我正在尝试创建一个小的VisualStudio扩展,以执行一些批处理项目加载和卸载。为此,我必须一次选择多个项目,然后调用Project.ReloadProject或Project.UnloadProject命令。如果我一个接一个地加载或卸载项目,速度太慢了 这是我的样本: foreach (UIHierarchyItem item in solution.UIHierarchyItems) { if (!filter.Projects.Contains(item.Name, Strin

我正在尝试创建一个小的VisualStudio扩展,以执行一些批处理项目加载和卸载。为此,我必须一次选择多个项目,然后调用
Project.ReloadProject
Project.UnloadProject
命令。如果我一个接一个地加载或卸载项目,速度太慢了

这是我的样本:

foreach (UIHierarchyItem item in solution.UIHierarchyItems)
{
    if (!filter.Projects.Contains(item.Name, StringComparer.CurrentCultureIgnoreCase))
        item.Select(vsUISelectionType.vsUISelectionTypeSelect);
}

dte.ExecuteCommand("Project.UnloadProject", "");

问题是,我不知道如何一次选择多个项目。当我手动执行同一任务时,我只需按住ctrl键并单击项目即可。

要选择多个项目,第一个项目调用:

item.Select(vsUISelectionType.vsUISelectionTypeSelect);
后续项目请致电:

   if (!item.IsSelected)
       item.Select(vsUISelectionType.vsUISelectionTypeToggle);

要选择多个项目,请为第一个项目调用:

item.Select(vsUISelectionType.vsUISelectionTypeSelect);
后续项目请致电:

   if (!item.IsSelected)
       item.Select(vsUISelectionType.vsUISelectionTypeToggle);

非常感谢你!没有考虑到这一点,因为在文档中它说,在使用切换值选择一个节点之后,它是唯一被选中的节点。非常感谢!没有考虑这一点,因为在文档中它说,在使用切换值选择一个节点之后,它是唯一被选中的节点。