如何使用VS宏访问SolutionFolders中的项目?

时间:2012-10-26 15:39:32

标签: vba visual-studio

我知道我可以使用宏(more or less)迭代解决方案的项目。

但我的SLN的顶级包含五个解决方案文件夹。我只获得这五个文件夹,但不是他们的条目。

我想Kind对象的Project可以告诉我它是真实的项目还是仅仅是一个文件夹。但我找不到任何参考如何找出它。


修改
我知道只有一个解决方案。 “解决方案文件夹”是指使用解决方案资源管理器→右键单击解决方案→添加→新建解决方案文件夹在解决方案中创建的文件夹。这将创建一个新的逻辑文件夹,使您有机会在子文件夹中组织解决方案的项目。

1 个答案:

答案 0 :(得分:1)

这会给你一个想法

Sub ListSolutionFolders()
        Dim solutionFolder As Project
        Dim solutionFolders As Projects
        Dim name As String
        Dim type As String
        Dim projects As ProjectItems
        Dim project As ProjectItem

        solutionFolders = DTE.Solution.Projects
        For Each solutionFolder In solutionFolders
            name = solutionFolder.Name
            projects = solutionFolder.ProjectItems

            For Each project In projects
                If Not project.SubProject.Kind Is Nothing Then
                    'this is a real project
                    type = project.SubProject.Kind
                Else
                    'Not a project
                End If
            Next
        Next
    End Sub

记下类型,它是一个GUID,你看看这个链接是什么意思 http://msdn.microsoft.com/en-us/library/hb23x61k%28v=vs.80%29.aspx 其他项目类型(如SSRS)未在此处列出,但也会输出GUID