visual-studio - Visual Studio 宏列出项目而不是解决方案文件夹

标签 visual-studio visual-studio-2010 vba visual-studio-macros

使用以下代码给我解决方案文件夹而不是真实项目。

projectName = DTE.Solution.SolutionBuild.StartupProjects(0)
For Each project In DTE.Solution.Projects
    If project.UniqueName = projectName Then
        Return project
    End If
Next

有什么方法可以遍历实际的项目节点吗?

我正在尝试从启动项目中读取属性。

最佳答案

我从未编写过任何 Visual Studio 宏,但这可能就是您要找的。

projectName = DTE.Solution.SolutionBuild.StartupProjects(0)
For Each project In DTE.Solution.Projects
    If (project.ConfigurationManager IsNot Nothing) Then
        ' It's a project!
        If (project.UniqueName = projectName) Then Return project
    Else
        If (project.ProjectItems IsNot Nothing) Then
            For Each projectItem In project.ProjectItems
                If (projectItem.SubProject IsNot Nothing) Then
                   ' TODO: Recurse on projectItem.SubProject 
                End If
            Next
        End If
    End If
Next

我在那里留下了一个“TODO”,因为如果您要处理嵌套(子)项目,您需要实际将其提取到一个可以递归调用的函数中。

我从 this link 得到了这个解决方案,虽然它是 Visual Studio 2005 时代的 Material ,但它可能会让您朝着正确的方向前进。

关于visual-studio - Visual Studio 宏列出项目而不是解决方案文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5464936/

相关文章:

visual-studio - Visual Studio 认为一切都是 TypeScript 资源

visual-studio - TFS 托管构建 Controller 发送电子邮件警报

C# 按住键时写入文本

VBA Outlook WordEditor 和.Display 方法

c# - 元组列表 <double,double>。逗号而不是 double 值中的点

c# - 在 ASP.NET Core Web API 中创建 RDLC 报告

visual-studio-2010 - 仅搜索某些文件

c++ - 拥有自给自足的头文件和预编译的头文件

ms-access - Access VBA - 为声明为 long 的函数返回某种空白/空值

vba - 多个用户如何在共享的 excel 文件上运行宏?