Je souhaite obtenir un répertoire de sortie de projet dans une macro Visual Studio.
J'ai réussi à obtenir une chaîne du chemin (via prj.ConfigurationManager.ActiveConfiguration.Properties
et en regardant la propriété OutputDirectory
) mais cette chaîne peut contenir des macros telles que $ (foo) où foo est défini dans une feuille de propriétés ou autre. Comment puis-je résoudre cette chaîne de répertoire de sortie dans le répertoire 'réel'?Visual Studio Automation: Obtenir par programme un répertoire de sortie de projet
1
A
Répondre
2
J'ai écrit cette fonction pour mes macros qui recherchent le chemin de sortie absolu par sous-chaîne.
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
Bonne réponse, exactement ce que je cherchais. Merci! –