我知道我可以使用宏(或多或少)迭代解决方案的项目。
但我的 SLN 的顶层包含五个解决方案文件夹。我只获得这五个文件夹,但没有获得它们的条目。
我猜Kind
一个Project
对象的 可以告诉我它是一个真正的项目还是一个文件夹。但我找不到任何参考如何找出这一点。
编辑:
我知道只有一个解决方案。“解决方案文件夹”是指使用解决方案资源管理器→右键单击解决方案→添加→新解决方案文件夹在解决方案中创建的那些文件夹。这将创建一个新的逻辑文件夹,让您有机会在子文件夹中组织解决方案的项目。
我知道我可以使用宏(或多或少)迭代解决方案的项目。
但我的 SLN 的顶层包含五个解决方案文件夹。我只获得这五个文件夹,但没有获得它们的条目。
我猜Kind
一个Project
对象的 可以告诉我它是一个真正的项目还是一个文件夹。但我找不到任何参考如何找出这一点。
编辑:
我知道只有一个解决方案。“解决方案文件夹”是指使用解决方案资源管理器→右键单击解决方案→添加→新解决方案文件夹在解决方案中创建的那些文件夹。这将创建一个新的逻辑文件夹,让您有机会在子文件夹中组织解决方案的项目。
这会给你一个想法
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