如何在项目下获取文件夹?

sem*_*d3r 3 c# envdte

我正在尝试获取其下的项目和文件夹列表.我可以使用以下方式获取项目和项目项目:

DTE2 dte2;
dte2=(DTE2)System.Runtime.InteropServices.Marshal.
GetActiveObject("VisualStudio.DTE.10.0");
Projects projects = dte2.Solution.Projects;
Run Code Online (Sandbox Code Playgroud)

然后,我正在遍历项目项目并获得项目的"种类".但它只显示GUID.我需要知道该项目是否是文件夹.我怎么做?

参考:

var item = projects.GetEnumerator();
while (item.MoveNext())
{
  var project = item.Current as Project;
  for(i=1;i<project.ProjectItems.Count;i++)
  {
     string itemType = project.ProjectItems.Item(i).Kind;
  }
}
Run Code Online (Sandbox Code Playgroud)

编辑:

目前,我正在使用一种解决方法:

string location = project.ProjectItems.Item(i).get_FileNames(1);
if (location.EndsWith(@"\"))
        {
            // It is a folder E.g C:\\Abc\\Xyz\\
        }
Run Code Online (Sandbox Code Playgroud)

Ste*_*orn 13

您可以EnvDTE.Constants.vsProjectItemKindPhysicalFolder用来比较ProjectItem.Kind属性.

更多常量可以在这里找到:http://msdn.microsoft.com/library/vstudio/envdte.constants