Visual studio VisualStudioAutomation:以编程方式获取项目输出目录

Visual studio VisualStudioAutomation:以编程方式获取项目输出目录,visual-studio,macros,automation,visual-studio-macros,Visual Studio,Macros,Automation,Visual Studio Macros,我希望以编程方式在Visual Studio宏中获取项目输出目录。 我设法获得了一个路径字符串(通过并查看属性OutputDirectory),但该字符串可能包含宏,如$(foo),其中foo是在属性表中定义的,等等 如何将此输出目录字符串解析为“real”目录?我为宏编写了此函数,它通过子字符串搜索完整的绝对输出路径 Function FindOutBinaryNameByExtension(ByVal prj As EnvDTE.Project, ByVal extName As Strin

我希望以编程方式在Visual Studio宏中获取项目输出目录。
我设法获得了一个路径字符串(通过并查看属性
OutputDirectory
),但该字符串可能包含宏,如$(foo),其中foo是在属性表中定义的,等等


如何将此输出目录字符串解析为“real”目录?

我为宏编写了此函数,它通过子字符串搜索完整的绝对输出路径

Function FindOutBinaryNameByExtension(ByVal prj As EnvDTE.Project, ByVal extName As String) As String
    FindOutBinaryNameByExtension = Nothing

    Dim cm As ConfigurationManager = prj.ConfigurationManager
    If cm IsNot Nothing Then
        Dim ac As Configuration = cm.ActiveConfiguration
        For Each grpOut In ac.OutputGroups
            If grpOut.DisplayName = "Primary output" Then
                Dim lst As Array = grpOut.FileURLs
                For i As Long = 0 To lst.Length - 1
                    Dim fileName As String = lst.GetValue(i)
                    If fileName.Contains(extName) Then
                        FindOutBinaryNameByExtension = fileName
                        Exit Function
                    End If
                Next
            End If
        Next
    End If
End Function

答案很好,正是我想要的。谢谢