3

我正在使用 Visual Studio 2010 SDK,开发一个扩展。我正在尝试获取项目中所有文件的列表,但是目前我无法获取过滤器中的文件列表。我可以看到返回的只是过滤器名称,以及该过滤器中的文件数。

我目前正在使用ProjectItem接口,特别是FileNames属性。但是,在他们的文档中,他们说:

当项目项的 ProjectItems 属性有值,并且 ProjectItem 对象表示磁盘上的过滤器文件夹时,FileNames 属性仅返回过滤器文件夹的名称。

是否有另一种方法可以用来列出过滤器中的文件,还是我以错误的方式解决这个问题?

4

1 回答 1

4

所以,我已经在这方面取得了足够的进展,可以继续。我只需要在 Visual C++ 项目中使用此扩展,因此我能够使用VCProject 接口获取项目列表,并使用VCProject Files属性从项目中获取文件列表。像这样的东西

        VCProject prj;
        int count = _applicationObject.Solution.Projects.Count;
        for(int i = 1; i <= count; i++ )
        {
            //Start counting at one for some reason
            prj = (Microsoft.VisualStudio.VCProjectEngine.VCProject)_applicationObject.Solution.Projects.Item(i).Object;

            foreach (VCFile item in prj.Files)
            {
                //Item is the file, do whatever you want with it here
            }
        }

我仍然想知道是否有办法为所有项目(不仅仅是 VisualC++)做到这一点。

于 2012-08-06T13:50:12.203 回答