1

我知道我可以使用宏(或多或少)迭代解决方案的项目。

但我的 SLN 的顶层包含五个解决方案文件夹。我只获得这五个文件夹,但没有获得它们的条目。

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


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

4

1 回答 1

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

于 2012-10-30T23:18:48.243 回答