编程语言
首页 > 编程语言> > c# – 如何在项目下获取文件夹?

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

作者:互联网

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

DTE2 dte2;
dte2=(DTE2)System.Runtime.InteropServices.Marshal.
GetActiveObject("VisualStudio.DTE.10.0");
Projects projects = dte2.Solution.Projects;

然后,我正在遍历项目项目并获得项目的“种类”.但它只显示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;
  }
}

编辑:

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

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

解决方法:

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

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

标签:c,envdte
来源: https://codeday.me/bug/20190712/1444116.html